結果
問題 | No.2100 [Cherry Alpha C] Two-way Steps |
ユーザー | tails |
提出日時 | 2022-10-14 22:49:06 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 24 ms / 2,000 ms |
コード長 | 796 bytes |
コンパイル時間 | 2,553 ms |
コンパイル使用メモリ | 175,564 KB |
実行使用メモリ | 10,976 KB |
最終ジャッジ日時 | 2024-06-26 16:29:58 |
合計ジャッジ時間 | 5,057 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 48 |
ソースコード
ll@n,@m,@h[n]; int x[m],y[m]; rd((x--,y--)(m)); graph g; g.setEdge(n,m,x,y); ll d[n][2]; // tarou kun d[0][0]=0; d[0][1]=0; rep(i,1,n){ // morau dp j->i d[i][0]=-1; d[i][1]=-1; rep[g.edge[i]](j,g.es[i]){ if(j<i){ if(h[j]>h[i]){ // kudari if(d[j][1]>=0){ d[i][0]>?=d[j][1]; d[i][1]>?=d[j][1]; } }else{ // nobori if(d[j][0]>=0){ d[i][1]>?=d[j][0]+(h[i]-h[j]); } } } } } wt(d[n-1][1]); // jirou kun d[n-1][0]=0; d[n-1][1]=0; rrep(i,n-1){ // morau dp j->i d[i][0]=-1; d[i][1]=-1; rep[g.edge[i]](j,g.es[i]){ if(j>i){ if(h[j]>h[i]){ // kudari if(d[j][1]>=0){ d[i][0]>?=d[j][1]; d[i][1]>?=d[j][1]; } }else{ // nobori if(d[j][0]>=0){ d[i][1]>?=d[j][0]+(h[i]-h[j]); } } } } } wt(d[0][1]);