Submission #924377

#TimeUsernameProblemLanguageResultExecution timeMemory
924377yeediotOlympic Bus (JOI20_ho_t4)C++14
5 / 100
1071 ms4368 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define pii pair<int,int> #define sz(x) (int)(x.size()) #define all(x) x.begin(),x.end() #define F first #define S second #define pb push_back #ifdef local void setio(){freopen("/Users/iantsai/Library/Mobile Documents/com~apple~CloudDocs/cpp/Empty.md","r",stdin);} #define debug(x...) cerr << "[" << #x << "] = ["; _print(x) #else void setio(){} #define debug(x...) #endif struct edge{ int a,b,c,d; }; const int mxn=205; vector<edge>e; vector<pii>adj[mxn]; int dij(int st,int ed){ vector<int>dis(mxn); for(int i=0;i<mxn;i++)dis[i]=2e18; dis[st]=0; priority_queue<pii,vector<pii>,greater<pii>>pq; pq.push({0,st}); while(sz(pq)){ auto [d,v]=pq.top(); pq.pop(); if(dis[v]<d)continue; for(auto [u,dd]:adj[v]){ if(dis[v]+dd<dis[u]){ dis[u]=dis[v]+dd; pq.push({dis[u],u}); } } } return dis[ed]; } signed main(){ ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); setio(); int n,m; cin>>n>>m; for(int i=0;i<m;i++){ int a,b,c,d; cin>>a>>b>>c>>d; e.pb({a,b,c,d}); adj[a].pb({b,c}); } int ans=dij(1,n)+dij(n,1); for(int i=0;i<m;i++){ for(int j=1;j<=n;j++){ adj[j].clear(); } for(int j=0;j<m;j++){ if(j==i)continue; auto [a,b,c,d]=e[j]; adj[a].pb({b,c}); } adj[e[i].b].pb({e[i].a,e[i].c}); int temp=e[i].d; temp+=dij(1,n)+dij(n,1); ans=min(ans,temp); } if(ans>(int)1e18){ cout<<-1<<'\n'; return 0; } cout<<ans<<'\n'; } /* */

Compilation message (stderr)

ho_t4.cpp: In function 'long long int dij(long long int, long long int)':
ho_t4.cpp:30:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   30 |         auto [d,v]=pq.top();
      |              ^
ho_t4.cpp:33:18: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   33 |         for(auto [u,dd]:adj[v]){
      |                  ^
ho_t4.cpp: In function 'int main()':
ho_t4.cpp:61:18: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   61 |             auto [a,b,c,d]=e[j];
      |                  ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...