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

Codeforces Round #281 (Div. 2)

はい。 -x---(0/0) 1042(-47)
前から気づいてたんですけど、この結果表記ってtopcoderとか向けでcodeforcesに向いてない気がする。hackされたのを特に表記するトコがない。1hackされたってメモしておけばとりあえずはいいですけど。。 提出はB問題のみC++で連続WAした後でpythonでpre通したけど結局はhackされてボロボロ。
http://codeforces.com/contest/493

A. Vasya and Football

ざっくりと大意

方針のようなもの

B. Vasya and Wrestling

ざっくりと大意

レスリングの試合。a>0ならfirstの選手の点で、a<0ならsecondの選手の点。
・合計点の押している方が勝ち。
・同点なら When the numbers of points of both wrestlers are equal, the wrestler whose sequence of points is lexicographically greater, wins.
・オンライン翻訳だと辞書順とかの訳になってたけどおそらく絶対値の大きい方のことだと思う。
・合計点、点の取り方も同じなら最後にポイントを取った方の勝ち。

方針のようなもの

・丁寧に比較すれば良いと思う。

n=int(raw_input())
f,s=[],[]
ff=ss=0
d=n
while d:
    d-=1
    t=int(raw_input())
    if t>0:
        chk=1
        f.append(t)
        ff+=t
    else:
        chk=2
        s.append(-t)
        ss+=(-t)
if ff>ss:
    print 'first'
elif ff<ss:
    print 'second'
else:
    ad=abs(len(f)-len(s))
    while ad:
        ad-=1
        if len(f)<len(s):
            f.append(0)
        else:
            s.append(0)
    x=len(s)
    for i in range(x):
        if f[i]>s[i]:
            print 'first'
            exit()
        elif f[i]<s[i]:
            print 'second'
            exit()
    print 'first' if chk==1 else 'second'

おそらく翻訳で出てきた辞書順につられて全然訳わからんことをしていた。C++で処理しようとしてた時は何をしていたか覚えてない。pythonに切り替えてpre通ってhackされて落ちた。2桁以上の点数とかもあるのに''.joinで全部を繋げて辞書順とかこれもダメな処理をしていた。。 lexicographically greater はオンライン翻訳では辞書順になってたけど今回は絶対値の大きい方だった。ただまぁ、負の'-'の符号をsecondの選手の為の目印で全て正の数で、、考えてもやっぱり値の大きい方だ。。。とりあえず、辞書順とか値の大きさで比べる単語として次回以降は要注意で。