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

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

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

Codeforces Round #260 (Div. 2)

はい。
http://codeforces.com/contest/456

A. Laptops

ざっくりと大意

・DimaとAlexはパソコンを探している。
・Dimaは高ければ高いほど良い物であると考えているが、Alexは安くても良い物があると考えていた。
・高ければ高いほど良い物ならPoor Alex、そうでなければHappy Alexを出力する。

方針のようなもの

・全部全部調べてリストの中に安くても良い物があるか調べる。

n=int(raw_input())
l=[(0,0)]
x=n
while x:
    x-=1
    a,b=map(int,raw_input().split())
    l.append((a,b))
l.sort()
for i in range(1,n+1):
    if l[i-1][1]>l[i][1] or (l[i-1][1]==l[i][1] and l[i-1][0]<l[i][0]):
        print 'Happy Alex'
        exit()
print 'Poor Alex'

安くても良い物があればHappy Alex、リストの最後まで見つからなければPoor Alexとなる。

B. Fedya and Maths

ざっくりと大意

・(1n+2n+3n+4n)%5がいくつになるか??

方針のようなもの

・nが大きいものは素直にn乗していると時間が足りなくなるので気をつける。

n=int(raw_input())
ans=chk=0
chk=1+[6,2,4,8][n%4]+[1,3,9,7][n%4]+[6,4][n%2]
print chk%5

余りを見る計算の時などは大体の場合で余りだけ見ればいいはずなので今回もそれで処理。まぁ、ホントに余りだけ見るなら6,7,8,9とかもアレだったんですけどね。