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

Codeforces Round #265 (Div. 2)

はい。 oo---(0/0) 1120(+3)
http://codeforces.com/contest/465
問題文はあんまり解読できずにサンプルからエスパー頑張った。ただB問題が2WAしてもったいなかった。。。

A. inc ARG

ざっくりと大意

・ビット表示でn個の0or1が並んでいる
・1を加算した時に表示が変わるのは何箇所か??

方針のようなもの

・1の時は0に変わって繰り上がるので隣も見に行く、0の時は1に変わってソコで停止でもう表示が変わるマスはなくなる

n=input()
w=raw_input()
ans=0
for i in w:
    ans+=1
    if i=='0': break
print ans

あんまり変わらないけどちょっと書き直し。コレで通るから多分あんまり解読できていないようでそんなにズレてないんだと思う。

同室ならHack成功できるチャンスだった群
http://codeforces.com/contest/465/submission/7710715
http://codeforces.com/contest/465/submission/7713221
なんか処理部分が長くてよく分からんので単に問題を誤読してるんだと思う

B. Inbox (100500)

ざっくりと大意

・1が未読メールで全ての未読を滅ぼしたいけど手数は最小で済ませたい
・1が隣同士になってれば続けてビューワーで読めるけど、離れていると一度はビューワーを閉じることになる

方針のようなもの

・隣り合って1があれば手数を加算、隣が0だとより先に1があるなら手数を加算、無いならば未読処理完了なので閉じるを加算する必要なく終わり

n=int(raw_input())
l=[int(x) for x in raw_input().split()]
ans=chk=0
l.append(0)
for i in range(n):
    if l[i]==1:
        ans+=1
        if l[i+1]==0 and l[i+1:].count(1)==0:
            break
        elif l[i+1]==0 and l[i+1:].count(1)>0:
            ans+=1
print ans

最近が難易度が低いのでB問題がなんとかなったりする。過去問の方が難しい。。。

同室ならHack成功できるチャンスだった群
http://codeforces.com/contest/465/submission/7704708
http://codeforces.com/contest/465/submission/7705982
パッと見であんま違和感無かったりもするけど減算してるのも実は書き方によってはそれで正解出せないことも無いだろうしよくわからん・・・