CF249に参加。ABCDを解いた…と思ったらCでデバッグ時のコードを残してしまいミス。
Eは最初時間切れかと思ったけど、そもそも解法が誤ってた。
http://codeforces.com/contest/435/problem/C
解法
A[i]の合計は1000以下なので、グラフの線は(0,-1000)~(1000,1000)の領域にしか来ない。
よってその分のchar配列を準備して線を配置していくだけ。
最後に、線が配置された行だけを出力する。
int N; char S[2002][2002]; void solve() { int f,i,j,k,l,x,y,x2,y2,s=0; cin>>N; FOR(x,2002) FOR(y,2002) S[x][y]=' '; x=0;y=1001; FOR(i,N) { cin>>j; s+=j; FOR(f,j) { if(i%2) S[y][x]='\\'; else S[y][x]='/'; x++; if(f!=j-1) { if(i%2) y++; else y--; } } } FOR(y,2002) S[y][s]=0; FOR(y,2002) if(count(S[y],S[y]+s,' ')!=s) printf("%s\n",S[y]); }