Submission #1131130

#TimeUsernameProblemLanguageResultExecution timeMemory
1131130irmuunCommuter Pass (JOI18_commuter_pass)C++20
24 / 100
236 ms327680 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define ff first #define ss second #define all(s) s.begin(),s.end() #define rall(s) s.rbegin(),s.rend() int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); ll n,m; cin>>n>>m; ll s,t; cin>>s>>t; ll u,v; cin>>u>>v; auto dist=vector(n+5,vector<ll>(n+5,(ll)1e18)); for(ll i=1;i<=n;i++){ dist[i][i]=0; } vector<pair<ll,ll>>g[n+5]; for(ll i=1;i<=m;i++){ ll a,b,c; cin>>a>>b>>c; dist[a][b]=c; dist[b][a]=c; } for(ll k=1;k<=n;k++){ for(ll i=1;i<=n;i++){ for(ll j=1;j<=n;j++){ if(dist[i][k]<(ll)1e18&&dist[k][j]<(ll)1e18){ dist[i][j]=min(dist[i][j],dist[i][k]+dist[k][j]); } } } } ll ans=dist[u][v]; for(ll i=1;i<=n;i++){ for(ll j=1;j<=n;j++){//s->i->j->t if(dist[s][i]+dist[i][j]+dist[j][t]==dist[s][t]){ ans=min(ans,dist[u][i]+dist[j][v]); ans=min(ans,dist[u][j]+dist[i][v]); } } } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...