結果
| 問題 |
No.1301 Strange Graph Shortest Path
|
| コンテスト | |
| ユーザー |
tails
|
| 提出日時 | 2020-11-27 22:21:37 |
| 言語 | cLay (20241019-1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 732 bytes |
| コンパイル時間 | 3,067 ms |
| コンパイル使用メモリ | 185,920 KB |
| 実行使用メモリ | 25,976 KB |
| 最終ジャッジ日時 | 2024-07-05 14:48:01 |
| 合計ジャッジ時間 | 14,041 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 28 WA * 5 |
ソースコード
int u[1d5],v[1d5];
ll c[1d5],d[1d5];
map<pair<int,int>,ll> costmap;
{
int @n,@m;
rd((u,v,c,d)(m));
rep(i,m){
costmap[{u[i],v[i]}]=c[i]|d[i]<<32;
costmap[{v[i],u[i]}]=c[i]|d[i]<<32;
}
graph g;
g.setEdge(n+1,m,u,v);
ll sum=0;
DijkstraHeap<ll> h;
h.walloc(n+1);
rep(2){
h.init(n+1);
h.change(1,0);
while(h.size){
int i=h.pop();
rep[g.edge[i]](j,g.es[i]){
long co=costmap[{i,j}];
h.change(j,h.val[i]+(int)co);
}
}
sum+=h.val[n];
int i=n;
do{
rep(k,g.es[i]){
int j=g.edge[i][k];
long co=costmap[{i,j}];
if(h.val[i]==h.val[j]+(int)co){
co>>=32;
costmap[{i,j}]=co|co<<32;
costmap[{j,i}]=co|co<<32;
i=j;
break;
}
}
}while(i!=1);
}
wt(sum);
}
tails