結果
| 問題 |
No.807 umg tours
|
| コンテスト | |
| ユーザー |
ahe100
|
| 提出日時 | 2019-03-22 22:08:51 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
TLE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,024 bytes |
| コンパイル時間 | 1,860 ms |
| コンパイル使用メモリ | 173,752 KB |
| 実行使用メモリ | 40,632 KB |
| 最終ジャッジ日時 | 2024-11-23 19:01:40 |
| 合計ジャッジ時間 | 12,334 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 25 TLE * 1 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i = 0;i<((int)(n));i++)
#define reg(i,a,b) for(int i = ((int)(a));i<=((int)(b));i++)
#define irep(i,n) for(int i = ((int)(n)-1);i>=0;i--)
#define ireg(i,a,b) for(int i = ((int)(b));i>=((int)(a));i--)
typedef long long ll;
typedef pair<ll, ll> mp;
ll mod = 1e9+7;
//LLONG_MIN
/*
*/
ll n,m,d[2][100010];
vector<ll> v[100010],c[100010];
queue<ll> Q;
int main(void){
cin>>n>>m;
rep(i,m){
ll a,b,x;
cin>>a>>b>>x;
v[a].push_back(b);
v[b].push_back(a);
c[a].push_back(x);
c[b].push_back(x);
}
reg(i,1,n){
d[0][i]=1e18;
d[1][i]=1e18;
}
d[0][1]=0;
d[1][1]=0;
Q.push(1);
while(!Q.empty()){
ll p=Q.front();Q.pop();
rep(i,v[p].size()){
bool ok=false;
ll q=v[p][i],di=c[p][i];
if(d[0][q]>d[0][p]+di){
d[0][q]=d[0][p]+di;
ok=true;
}
if(d[1][q]>min(d[0][p],d[1][p]+di)){
d[1][q]=min(d[0][p],d[1][p]+di);
ok=true;
}
if(ok)Q.push(q);
}
}
reg(i,1,n){
cout<<d[1][i]+d[0][i]<<endl;
}
return 0;
}
ahe100