Submission #82475

#TimeUsernameProblemLanguageResultExecution timeMemory
82475nampsCommuter Pass (JOI18_commuter_pass)C++14
0 / 100
77 ms1448 KiB
#include <bits/stdc++.h>

using namespace std;
int n,m,s,t,u,v;
int l,r,h;
int kq;
int dp[305][305];
int main()
{
  //  freopen("vao.inp","r",stdin);
    cin>>n>>m;
    cin>>s>>t;
    cin>>u>>v;
    for (int i=1;i<=n;i++)
    for (int j=1;j<=n;j++) dp[i][j]=1000000000;
    for (int i=1;i<=n;i++) dp[i][i]=0;
    while (m--)
    {
        cin>>l>>r>>h;
        dp[l][r]=min(dp[l][r],h);
        dp[r][l]=dp[l][r];
    }
    for (int k=1;k<=n;k++)
    for (int i=1;i<=n;i++)
    for (int j=1;j<=n;j++)
    {
        dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]);
    }
    kq=1000000000;
    for (int i=1;i<=n;i++)
    for (int j=1;j<=n;j++)
    {
        if (dp[s][t]==dp[s][i]+dp[i][j]+dp[j][t])
        {
            kq=min(kq,dp[i][u]+dp[j][v]);
        }
    }
    cout<<kq;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...