結果

問題 No.1344 Typical Shortest Path Sum
ユーザー monnu
提出日時 2021-01-27 20:28:04
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 803 bytes
コンパイル時間 2,174 ms
コンパイル使用メモリ 172,940 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-24 22:10:06
合計ジャッジ時間 3,979 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 28 WA * 49
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
using ll=long long;
#define MOD 998244353
#define INF 1000000000000000000
using Graph=vector<vector<pair<int,int>>>;

int main(){
  int N,M;
  cin>>N>>M;
  vector<int> s(M),t(M);
  vector<ll> d(M);
  for(int i=0;i<M;i++){
    cin>>s[i]>>t[i]>>d[i];
    s[i]--;t[i]--;
  }

  vector<vector<ll>> dist(N,vector<ll>(N,INF));
  for(int i=0;i<N;i++){
    dist[i][i]=0;
  }
  for(int i=0;i<M;i++){
    dist[s[i]][t[i]]=min(d[i],dist[s[i]][t[i]]);
  }

  for(int k=0;k<N;k++){
    for(int i=0;i<N;i++){
      for(int j=0;j<N;j++){
        dist[i][j]=min(dist[i][j],dist[i][k]+dist[k][j]);
      }
    }
  }

  for(int i=0;i<N;i++){
    ll ans=0;
    for(int j=0;j<N;j++){
      if(dist[i][j]!=INF){
        ans+=dist[i][j];
      }
    }
    cout<<ans<<endl;
  }
}
0