Submission #979969

#TimeUsernameProblemLanguageResultExecution timeMemory
979969vjudge1가장 긴 여행 (IOI23_longesttrip)C++17
40 / 100
13 ms756 KiB
#include "longesttrip.h" #include <bits/stdc++.h> using namespace std; vector<int> longest_trip(int N, int D){ if(1<D){ vector<int> r(N); int j=0; r[0]=0; for(int i=1;i<N;i++){ vector<int>e1,e2; e1.push_back(r[j]); e2.push_back(i); if(are_connected(e1,e2))j++,r[j]=i; else if(i==N-1){ for(int k=N-1;0<k;k--)r[k]=r[k-1]; r[0]=i; } else j++,r[j]=i+1,j++,r[j]=i,i++; } return r; } vector<int> r1,r2; r1.push_back(0); for(int i=1;i<N;i++){ vector<int>e1,e2,e3,e4; if(!r2.empty()){ e1.push_back(r1.back()); e2.push_back(r2.back()); if(are_connected(e1,e2)){ while(!r2.empty()){ r1.push_back(r2.back()); r2.pop_back(); } } } e3.push_back(r1.back()); e4.push_back(i); if(are_connected(e3,e4))r1.push_back(i); else r2.push_back(i); } if(r1.size()>r2.size())return r1; return r2; }
#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...