読者です 読者をやめる 読者になる 読者になる

君はまるで砂漠に咲く、一輪の花。

僕はその花に引き寄せられる蝶。

Codeforces Beta Round #94 (Div.2 Div.1)

はい。
http://codeforces.com/contest/129

A. Cookies

implementation

ざっくりと大意

・Olga婆さんは双子のAnnaとMariaにクッキーを小分けした袋で持っていく。
・袋がどれか1つなくなるが双子に同じ数で分けられるようにしたい。

方針のようなもの

・全体の合計と袋個別の偶数/奇数見ればいいのかな? ・袋が1つしかない場合は1袋無くなって平等らしい。sampleにはないけど奇数個入り4袋とかだと等分に分けられないケースになるのかな?

e,o=[],[]
n=int(raw_input())
l=[int(x) for x in raw_input().split()]
t=sum(l)
for a in l:
    e.append(a) if a%2==0 else o.append(a)
print 0 if t%2==0 and len(e)==0 else len(e) if t%2==0 else len(o)

分けられない場合に-1を出力で書いてしまっていて無駄にWA。。練習だからいいですけど本番なら無駄すぎて泣ける。。手元でしっかりと確認しましょう。
偶数奇数とかみるのでbit演算とかでも出来るのかな??と思ってたけど自力では書けず。。。多分ソレらしき方法の人をメモ、。3916708のRe_cursiveさん。

#!/usr/bin
raw_input()
bags = map(int, raw_input().split())
a = ~sum(bags)&1
print len(filter(lambda t: ~t&1 == a, bags))

B. Students and Shoelaces

また後日