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

君はまるで砂漠に咲く、一輪の花。

僕はその花に引き寄せられる蝶。

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