Codeforces Round #159 (Div. 2)
http://www.codeforces.com/contest/257
またもA, B問題だけ。
A. Sockets
英文を読み解くのに時間がかかった・・・。
def solve(n, m, k, a) return 0 if k >= m a.sort_by! {|x| -x} socket = k - 1 for i in 0 .. (n - 1) return i + 1 if (a[i] + socket) >= m socket += a[i] - 1 end return -1 end n, m, k = gets.chomp.split(" ").map{|n| n.to_i} a = gets.chomp.split(" ").map{|n| n.to_i} puts solve(n, m, k, a)
B. Playing Cubes
これは簡単。
n, m = gets.chomp.split(" ").map{|n| n.to_i} max = [n, m].max min = [n, m].min petya = max - 1 vasya = min puts [petya, vasya].join(" ")