Codeforces Beta Round #61 (Div. 2)
はい。
http://codeforces.com/contest/66
A. Petya and Java
implementation,strings
ざっくりと大意
・入力で与えられる数がbyteやshortのどの範囲か??
方針のようなもの
・その範囲通りに分岐。使用言語にもよるだろうけどpythonならintで受け取って大丈夫。
#!/usr/bin/env python # -*- coding: UTF-8 -*- import time import sys, io import re, math #start = time.clock() n=int(raw_input()) #l=[int(x) for x in raw_input().split()] if -128<=n<=127: print 'byte' elif -32768<=n<=32767: print 'short' elif -2147483648<=n<=2147483647: print 'int' elif -9223372036854775808<=n<=9223372036854775807: print 'long' else: print 'BigInteger'
B. Petya and Countryside
brute force,implementation
ざっくりと大意
・高さ4、高さ2,高さ3みたいな場所に雨の降らせられる庭園がある?? ・高さ3のとこから雨が降って、左側には高さ2のとこまで雨水が届いて4には届かない。右側には同じ高さ3と高さ2の所まで広がる?
方針のようなもの
・ある一箇所を始点にしてより右側・左側に見ていき、同じ高さか低い場所なら幅カウントを加算して更に隣に見に行く。 ・高いのが出てきたらbreak。始点ごとにいくつまで広げられたかを大きい方の数のみ保存。
#!/usr/bin/env python # -*- coding: UTF-8 -*- import time import sys, io import re, math #start = time.clock() cnt=0 n=int(raw_input()) l=[int(x) for x in raw_input().split()] for i in range(len(l)): ans=1 chk=l[i] for jk in range(i+1,len(l)): if chk>=l[jk]: chk=l[jk] ans+=1 else: break chk=l[i] for jd in range(i-1,-1,-1): if chk>=l[jd]: chk=l[jd] ans+=1 else: break cnt=max(ans,cnt) # print cnt print cnt