結果

問題 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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);	
}
0