Submission #1131565

#TimeUsernameProblemLanguageResultExecution timeMemory
113156512345678Olympic Bus (JOI20_ho_t4)C++20
11 / 100
29 ms2120 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int nx=2e2+5, mx=5e4+5; ll n, m, u[mx], v[mx], dp[nx][nx], res=1e18, c[mx], d[mx]; int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>n>>m; for (int i=1; i<=n; i++) for (int j=1; j<=n; j++) if (i!=j) dp[i][j]=1e18; for (int i=1; i<=m; i++) cin>>u[i]>>v[i]>>c[i]>>d[i], dp[u[i]][v[i]]=min(dp[u[i]][v[i]], c[i]); 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]); res=min(res, dp[1][n]+dp[n][1]); for (int i=1; i<=m; i++) res=min(res, d[i]+min(dp[1][n], dp[1][v[i]]+dp[u[i]][n]+c[i])+min(dp[n][1], dp[n][v[i]]+dp[u[i]][1]+c[i])); if (res==1e18) cout<<-1; else cout<<res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...