Educational Codeforces Round 7
はい。
http://codeforces.com/contest/622
A. Infinite Sequence
ざっくりと大意
・1, 1,2, 1,2,3, 1,2,3,4, ...というような数列がある。それのn番目を出力する。
Python2
n=int(raw_input()) x=int((-1+(8*n)**0.5)/2) ans=chk=0 if x*(x+1)/2==n: print x else: print n-x*(x+1)/2
写経したけど意味不明。。。Editorialで書いてる解法はnを1減算、2減算、3減算...をnが負の数になるまで続ける。最後の非負数が解になるらしい。非負は1以上だと思う。でないと解がずれる。C++で書かれてる想定解? http://pastebin.com/hAnJGhvB だとそんな感じで書かれてる。がPython2で間に合わず。PyPy2なら間に合うようだ。。
PyPy2
n=int(raw_input()) x=1 n-=1 while x<=n: n-=x x+=1 print n+1
うーん、Pythonは確かに遅いけどEducationalのA問題でTLEになるのはもやっとする。
B. The Time
ざっくりと大意
・hh:mmのa分後を出力
Python2
h,m=map(int,raw_input().split(':')) a=int(raw_input()) m+=a h+=m/60 print "%02d:%02d"%(h%24,m%60)
分を足して60以上は繰上げて、時も24以上は処理したり、2桁表示になるように0埋め必要だったりするけどA問題より難易度低いと思う。