Submission #114364

#TimeUsernameProblemLanguageResultExecution timeMemory
114364faustaadpShortcut (IOI16_shortcut)C++17
0 / 100
3 ms512 KiB
#include "shortcut.h" #include<bits/stdc++.h> typedef long long ll; #define pb push_back #define mp make_pair #define fi first #define se second using namespace std; ll n,i,jar[550],tam[550],has,j,d[550][550],C,b[550]; vector<ll> v[550],w[550]; ll cek(ll aa,ll bb) { ll ii,jj,kk,ma=0; v[aa].pb(bb); w[aa].pb(C); v[bb].pb(aa); w[bb].pb(C); for(ii=0;ii<n*2;ii++) for(jj=0;jj<n*2;jj++) if(ii!=jj) d[ii][jj]=1e18; for(ii=0;ii<n*2;ii++) for(jj=0;jj<v[ii].size();jj++) d[ii][v[ii][jj]]=min(d[ii][v[ii][jj]],w[ii][jj]); for(kk=0;kk<n*2;kk++) for(ii=0;ii<n*2;ii++) for(jj=0;jj<n*2;jj++) d[ii][jj]=min(d[ii][jj],d[ii][kk]+d[kk][jj]); for(ii=0;ii<n*2;ii++) for(jj=0;jj<n*2;jj++) ma=max(ma,d[ii][jj]); v[aa].pop_back(); w[aa].pop_back(); v[bb].pop_back(); w[bb].pop_back(); return ma; //cout<<aa<<" "<<bb<<" "<<ma<<" "<<cln<<"\n"; /* ma=0; for(ii=0;ii<(n*2);ii++) d[ii]=1e18; d[cln]=0; pq.push(mp(0,cln)); cln=0; while(!pq.empty()) { ll u=pq.top().se; ll dis=-pq.top().fi; pq.pop(); if(d[u]!=dis) continue; ma=max(ma,d[u]); if(ma==d[u]) cln=u; ll ii; for(ii=0;ii<v[u].size();ii++) { if(d[v[u][ii]]>d[u]+w[u][ii]) { d[v[u][ii]]=d[u]+w[u][ii]; pq.push(mp(-d[v[u][ii]],v[u][ii])); } } } //cout<<aa<<" "<<bb<<" "<<ma<<"\n"; //cout<<ma<<"\n"; return ma; */ } long long find_shortcut(int N, std::vector<int> l, std::vector<int> d, int c) { n=N; if(n>10) { n=n/0; assert(1); } C=c; for(i=0;i<(n-1);i++) jar[i]=l[i]; for(i=0;i<n;i++) tam[i]=d[i]; for(i=0;i<(n-1);i++) { v[i].pb(i+1); w[i].pb(jar[i]); v[i+1].pb(i); w[i+1].pb(jar[i]); } for(i=0;i<n;i++) { v[i].pb(i+n); w[i].pb(tam[i]); v[i+n].pb(i); w[i+n].pb(tam[i]); } has=1e18; for(i=0;i<n;i++) for(j=i+1;j<n;j++) has=min(has,cek(i,j)); return has; }

Compilation message (stderr)

shortcut.cpp: In function 'll cek(ll, ll)':
shortcut.cpp:23:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(jj=0;jj<v[ii].size();jj++)
            ~~^~~~~~~~~~~~~
shortcut.cpp: In function 'long long int find_shortcut(int, std::vector<int>, std::vector<int>, int)':
shortcut.cpp:75:6: warning: division by zero [-Wdiv-by-zero]
   n=n/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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...