Codeforces Round #304 (Div. 2) 参加記
はい。 ox--- (0/0)
http://codeforces.com/contest/546
B問題がちょろそうに見えて実際チョロかったんですけど、しょうもないミスしてWAでした。というかやはりC問題以降も手を出していかないとコレ以上はレート上がらないっぽいのでアレ。
A. Soldier and Bananas
ざっくりと大意
・バナナが1個目はkドル、2個目は2kドル、i個目はikドルのときに手持ちnドルでw個のバナナを買うためには何ドル借りる必要があるか。
方針のようなもの
w個のバナナを買うために必要なドルと手持ちのnドルを比較する。
k,n,w=map(int,raw_input().split()) ans=chk=0 for i in range(1,w+1): ans+=i*k print ans-n if ans>n else 0
手持ちのが多くて借りる必要がない場合を0にし忘れなければ特に引っかかるところは無いと思う。
B. Soldier and Badges
ざっくりと大意
・兵士n人にn個のバッジを配る。 ・兵士とペアになるバッジの要素のaが1つ前の人より大きくなければいけない??
方針のようなもの
ソートして小さい方から使う。
n=int(raw_input()) l=map(int,raw_input().split()) ans=chk=0 l.sort() tmp=l[0] for i in range(1,n): if tmp>=l[i]: chk=tmp-l[i]+1 ans+=chk tmp+=1 else: tmp=l[i] print ans
WAだったので事後に再提出でACになったものです。。WA時は10行目のtmpにchkを足してしまうというミスをしてました。。1つ前のものより1だけ大きければよいという条件のはず。