結果

問題 No.3393 Move on Highway
コンテスト
ユーザー kino0402
提出日時 2025-11-29 17:11:20
言語 C++23
(gcc 13.3.0 + boost 1.89.0)
結果
AC  
実行時間 1,277 ms / 3,000 ms
コード長 675 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 3,418 ms
コンパイル使用メモリ 289,628 KB
実行使用メモリ 99,056 KB
最終ジャッジ日時 2025-11-29 17:11:52
合計ジャッジ時間 31,164 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:3:332: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type]
    3 | 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;}l n,m,c,u,v,w,i=1;main(){cin>>n>>m>>c;vector<vector<pl>>g(n),G(n*2);for(;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});for(vector<l>a=D(n,0,g),b=D(n*2,n-1,G);i<n;i++)cout<<min(a[n-1],a[i]+b[i+n])<<endl;}
      |                                                                                                                                                                                                                                                                                                                                            ^~~~

ソースコード

diff #
raw source code

#import<bits/stdc++.h>
#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;}l n,m,c,u,v,w,i=1;main(){cin>>n>>m>>c;vector<vector<pl>>g(n),G(n*2);for(;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});for(vector<l>a=D(n,0,g),b=D(n*2,n-1,G);i<n;i++)cout<<min(a[n-1],a[i]+b[i+n])<<endl;}
0