Codeforces Round #683(Div. 2) 参加記
https://codeforces.com/contest/1447
A、B、Cの3完でした。Dは難しそうなふんいき……。
A. Add Candies
サンプルがちょっと不親切というかひっかけ?だけど、1, 2, 3, ..., N個キャンディがあるときは、i番目にiの袋を選んでそれ以外にiずつ足せば、必ずN回ですべての袋が等しくなる(1つの袋に1+2+3+...+N個入る)
B. Numbers Box
位置は関係なく、負の数の個数が偶数の場合は、うまくこねくり回すことで全部正の数にできる。負の数の個数が奇数かつ0が1つもない場合は必ずどれか1つが奇数になってしまうので、1番絶対値が小さい値を負の数にする。
C Knapsack
ながあったらそれを出力して終わり。ない場合、未満の数字だけ添え字と一緒にpairの配列としてとっておいてソート。i番目までの合計が未満の場合、i+1番目の数字は必ず未満なので、i+1番目を足してもWを超えることはない。前から足していって以上になった時点で出力。
ABCの後に出たけどあんまり疲労感がなかった。昼寝のおかげかも?