Submission #960122

#TimeUsernameProblemLanguageResultExecution timeMemory
960122tutisLongest Trip (IOI23_longesttrip)C++17
15 / 100
14 ms856 KiB
#include "longesttrip.h" #include <bits/stdc++.h> using namespace std; mt19937_64 rng(0); std::vector<int> longest_trip(int N, int D) { vector<int>x,y; x.push_back(0); for(int i=1;i<N;i++){ if(are_connected({0}, {i})){ x.push_back(i); } else{ y.push_back(i); } } if(y.size()>0 && !are_connected(x,y)){ if(x.size()>y.size()){ return x; } else{ return y; } } // if(y.empty()){ vector<int>ans; vector<int>p; ans.push_back(x.back()); for(int i=1;i<N;i++){ p.push_back(i); } p.erase(find(p.begin(),p.end(), x.back())); while(!p.empty()){ shuffle(p.begin(),p.end(),rng); bool found=false; for(int i: p){ if(are_connected({ans.back()}, {i})){ ans.push_back(i); p.erase(find(p.begin(),p.end(), i)); found=true; break; } } if(!found){ break; } } reverse(ans.begin(),ans.end()); ans.push_back(0); for(int i=0;i<p.size();i++){ if(find(x.begin(),x.end(), p[i])!=x.end()){ swap(p[i], p[0]); break; } } for(int i: p){ ans.push_back(i); } return ans; // } }

Compilation message (stderr)

longesttrip.cpp: In function 'std::vector<int> longest_trip(int, int)':
longesttrip.cpp:49:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |     for(int i=0;i<p.size();i++){
      |                 ~^~~~~~~~~
#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...