Submission #423845

#TimeUsernameProblemLanguageResultExecution timeMemory
423845vanicShortcut (IOI16_shortcut)C++14
0 / 100
1 ms256 KiB
#include "shortcut.h" #include <algorithm> #include <cmath> #include <vector> #include <bitset> #include <queue> #include <set> #include <iostream> using namespace std; typedef long long ll; const int maxn=505; vector < pair < int, int > > ms[maxn]; bitset < maxn > bio; int n; int br; ll kreni(int x){ set < pair < ll, int > > s; s.insert({0, x}); pair < int, int > p; ll zadnj; while(!s.empty()){ p=*s.begin(); s.erase(s.begin()); // cout << "a sad je " << p.second << endl; if(bio[p.second]){ // cout << "cont" << endl; continue; } zadnj=p.first; bio[p.second]=1; x=p.second; for(int i=0; i<(int)ms[x].size(); i++){ if(!bio[ms[x][i].first]){ // cout << "sirim " << p.first << ' ' << ms[x][i].second << ' ' << ms[x][i].first << endl; s.insert({p.first+ms[x][i].second, ms[x][i].first}); } } } // cout << x << ' ' << zadnj << endl; return zadnj; } ll rijesi(){ ll sol=0; for(int i=0; i<br; i++){ sol=max(sol, kreni(i)); bio.reset(); } return sol; } ll find_shortcut(int nn, vector < int > l, vector < int > d, int c){ n=nn; for(int i=0; i<n-1; i++){ ms[i].push_back({i+1, l[i]}); ms[i+1].push_back({i, l[i]}); } br=n; for(int i=0; i<n; i++){ if(d[i]){ ms[br].push_back({i, d[i]}); ms[i].push_back({br, d[i]}); br++; } } ll sol=1e18; for(int i=0; i<n; i++){ for(int j=i+1; j<n; j++){ ms[i].push_back({j, c}); ms[j].push_back({i, c}); sol=min(sol, rijesi()); ms[i].pop_back(); ms[j].pop_back(); } } return sol; }

Compilation message (stderr)

shortcut.cpp: In function 'll kreni(int)':
shortcut.cpp:45:9: warning: 'zadnj' may be used uninitialized in this function [-Wmaybe-uninitialized]
   45 |  return zadnj;
      |         ^~~~~
#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...