Good Bye 2015
はい。
http://codeforces.com/contest/611
A. New Year and Days
ざっくりと大意
・2016年で月曜〜日曜は何回あるか、x日ある月は何回あるか?みたいな感じ?
x=map(str,raw_input().split()) if x[-1][0]=='w': print 53 if x[0]=='5' or x[0]=='6' else 52 else: print 7 if x[0]=='31' else 11 if x[0]=='30' else 12
20160101は金曜日、20161231は土曜日。あと、2月は29日まで。
B. New Year and Old Property
ざっくりと大意
・aからbを2進数で表した際に0を一つだけ含むようなものがあればその個数は何個か。
a,b=map(int,raw_input().split()) al=len(bin(a))-2 bl=len(bin(b))-2 ans=chk=0 #print al,bl for i in range(bl-al+1): for j in range(al+i): chk=['1']*(al+i) chk[j]='0' if chk[0]!='0': tmp=int('0b'+''.join(chk),2) if a<=tmp<=b: ans+=1 print ans
厳密には無駄があるのですがそれが原因でAC/TLEになるほどのものではなかったので調整はしませんでした。aを2進数にしたものと同じ桁数の2進数で0を1つだけ含む最小のものからbを2進数にした。0,1の使い方が力技なのですがもう少し楽な方法があるはず。。