Codeforces Round #129 (Div. 2)
はい。
http://codeforces.com/contest/205
A. Little Elephant and Rozdil
ざっくりと大意
・子象はウクライナの都市のRozdolが好き。
・しかしRozdoiは危険なので旅を最短で終わらせたい。
・最短で移動できる都市の番目か複数ある時はStill Rozdilを出力する。
方針のようなもの
・最短距離の都市が複数個あるか調べる。
n=int(raw_input()) l=map(int,raw_input().split()) m=min(l) print l.index(m)+1 if l.count(m)==1 else 'Still Rozdil'
最短距離のが1つだけならそれを、複数あればStill Rozdilを出力で大丈夫。
B. Little Elephant and Sorting
ざっくりと大意
・子象はソートを愛している
・n個の数字が\(a_1\)から\(a_n\)まで並んでいる
・左端から右端まで<=で並ぶように
・サンプル2は3 2 1を3 3 2にして3 3 3で2手でソート済みって言ってる??
方針のようなもの
・隣り合ってる時だけ同時に増加させられるとかじゃなければ左端から<=にするのに最も差分が大きいのを見ればいいのかな
・と思ったけどそれも違ったようだ問題文が解読できない
#test7でWA n=int(raw_input()) l=[int(x) for x in raw_input().split()] ans=chk=0 for i in range(n-2): if l[i]>l[i+1]>=l[i+2]: ans+=l[i]-l[i+2] l[i+2]=l[i+1]=l[i] elif l[i]>l[i+1]: ans+=l[i]-l[i+1] l[i+1]=l[i] elif i==n-3 and l[i]==l[i+1] and l[i+1]>l[i+2]: ans+=l[i]-l[i+2] l[i+2]=l[i] print ans
連続してるものはは一度に加算、連続してなければ別に加算って想定で書いてその通りに動いているはずだけどルールがソレではないっぽい。