結果
問題 |
No.2914 正閉路検出
|
ユーザー |
👑 |
提出日時 | 2024-07-18 13:36:41 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 242 ms / 2,000 ms |
コード長 | 387 bytes |
コンパイル時間 | 4,271 ms |
コンパイル使用メモリ | 190,760 KB |
実行使用メモリ | 33,920 KB |
最終ジャッジ日時 | 2024-07-19 18:49:09 |
合計ジャッジ時間 | 12,201 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 55 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:378:38: warning: narrowing conversion of ‘N’ from ‘long long int’ to ‘int’ [-Wnarrowing] 378 | weightedUnionFind<long long> U{'m',N,1}; | ^ main.cpp:390:10: warning: narrowing conversion of ‘u’ from ‘long long int’ to ‘int’ [-Wnarrowing] 390 | C[{u,v}]=C[{v,u}]=j; | ^ main.cpp:390:10: warning: narrowing conversion of ‘u’ from ‘long long int’ to ‘int’ [-Wnarrowing] main.cpp:390:12: warning: narrowing conversion of ‘v’ from ‘long long int’ to ‘int’ [-Wnarrowing] 390 | C[{u,v}]=C[{v,u}]=j; | ^ main.cpp:390:12: warning: narrowing conversion of ‘v’ from ‘long long int’ to ‘int’ [-Wnarrowing] main.cpp:390:19: warning: narrowing conversion of ‘v’ from ‘long long int’ to ‘int’ [-Wnarrowing] 390 | C[{u,v}]=C[{v,u}]=j; | ^ main.cpp:390:19: warning: narrowing conversion of ‘v’ from ‘long long int’ to ‘int’ [-Wnarrowing] main.cpp:390:21: warning: narrowing conversion of ‘u’ from ‘long long int’ to ‘int’ [-Wnarrowing] 390 | C[{u,v}]=C[{v,u}]=j; | ^ main.cpp:390:21: warning: narrowing conversion of ‘u’ from ‘long long int’ to ‘int’ [-Wnarrowing]
ソースコード
ll@N,@M;int A[M],B[],p[],W[N],L,V[2M];map<VI,ll>C;weightedUnionFind<ll>U{'m',N,1};rep(j,M){ll@--(u,v),@w;if(U(u,v,w)||U.diff(u,v)==w)A[j]=u,B[j]=v,W[j]=w,C[{u,v}]=C[{v,u}]=j;else{graph g;g.setEdge(N,j,A,B);*p=j;if(L=g.shortestPath(v,u,V)+1)REP[V,i](t,L-1)w+=t==A[M=p[i+1]=C[{t,V[i+1]}]]?W[M]:-W[M];else break;wtLn(L,u+1);if(w<0)REP(i,L/2)swap(p[i],p[L-i-1]);wt(p(L)+1);return 0;}}wt(-1);