Codeforces Round #111 (Div. 2)
はい。
http://codeforces.com/contest/160
A. Twins
greedy,sortings
ざっくりと大意
・貴方が双子だと妄想しましょう。
・ある朝に母が校内のカフェで昼食のための用意するのを忘れて仕事に行こうとしてしまった。
・なんとかてきとーに財布を漁ってn枚のコイン、a1からanまでを残していった。
・早く起きた私はもう一人が寝てる間にコインをなるべく疑われない程度に欲しい。
・なるべく少ない枚数でもう一人より大きい額が欲しい。
方針のようなもの
・サンプルを見ると3 3で置いて行かれたコインは2枚総取り、2 1 2なら2,2か2,1の2枚取りで少ない枚数で多い額になってる。
・多分ソートして大きい方から取って行って残り額を上回ればいいのでは?
n=int(raw_input()) l=[int(x) for x in raw_input().split()] l.sort();l=l[::-1] for i in range(n): if sum(l[:(i+1)])>sum(l)-sum(l[:(i+1)]): print i+1 exit()
大きい方から取るだけだった。どうしようもないといえばそうなんでしょうけど2枚しかない時に総取りして、3枚の時に1枚残すくらいなら絶対にバレるから取ってしまったほうがいいよね。