結果
| 問題 |
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);