Codeforces Round #233 (Div. 2)
はい。
http://codeforces.com/contest/399
A. Pages
ざっくりと大意
・全部でnページあるものをpを起点で()で囲んで前後にkページ。端にまでなってなければ<<,>>をつける。
方針のようなもの
・左端と右端を丁寧に。
n,k,p=map(int,raw_input().split()) l=k-p r=k+p if l<=0: l=1 if n<r: r=n ans=[] for i in range(l,r+1): if i==l and i!=1: ans.append('<<') ans.append(str(i)) elif i==r and i!=n: ans.append(str(i)) ans.append('>>') elif i==k: ans.append('('+str(i)+')') else: ans.append(str(i)) print ' '.join(ans)
コンテスト当時はkから左に右と作ってた。kからなら解を作りながら端が1,nからはみ出さないように<<,>>をつけるかを気をつけながら。先に解を用意するなら同じく端の1,nに気をつけて丁寧に。