結果
| 問題 | No.3393 Move on Highway |
| コンテスト | |
| ユーザー |
kino0402
|
| 提出日時 | 2025-11-29 17:01:24 |
| 言語 | C++23 (gcc 13.3.0 + boost 1.89.0) |
| 結果 |
AC
|
| 実行時間 | 1,307 ms / 3,000 ms |
| コード長 | 813 bytes |
| 記録 | |
| コンパイル時間 | 3,509 ms |
| コンパイル使用メモリ | 289,884 KB |
| 実行使用メモリ | 99,028 KB |
| 最終ジャッジ日時 | 2025-11-29 17:01:56 |
| 合計ジャッジ時間 | 31,830 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 33 |
コンパイルメッセージ
main.cpp:1:2: warning: #import is a deprecated GCC extension [-Wdeprecated]
1 | #import<bits/stdc++.h>
| ^~~~~~
main.cpp:23:1: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type]
23 | main(){
| ^~~~
ソースコード
#import<bits/stdc++.h>
#define r(n)for(l i=0;i<n;i++)
#define p push_back
using namespace std;
using l=long;
using pl=pair<l,l>;
vector<l> D(l N,l S,auto G){
vector<l>d(N,1e18),v(N);
priority_queue<pl,vector<pl>,greater<pl>>Q;
d[S]=0;
Q.push({0,S});
while(!Q.empty()){
l p=Q.top().second;Q.pop();
if(v[p])continue;
v[p]=1;
for(auto[n,c]:G[p])if(d[n]>d[p]+c){
d[n]=d[p]+c;
Q.push({d[n],n});
}
}
return d;
}
main(){
l n,m,c,u,v,w;
cin>>n>>m>>c;
vector<vector<pl>>g(n),G(n*2);
r(m){
cin>>u>>v>>w;
u--;v--;
g[u].p({v,w+c});g[v].p({u,w+c});
G[u].p({v,w+c});G[v].p({u,w+c});
G[u].p({v+n,c});G[v].p({u+n,c});
G[u+n].p({v+n,w+c});G[v+n].p({u+n,w+c});
}
vector<l>a=D(n,0,g),b=D(n*2,n-1,G);
r(n-1)cout<<min(a[n-1],a[i+1]+b[i+1+n])<<endl;
}
kino0402