제출 #1238369

#제출 시각아이디문제언어결과실행 시간메모리
1238369CyberCowLongest Trip (IOI23_longesttrip)C++20
40 / 100
4 ms404 KiB
#include "longesttrip.h" #include <vector> #include <deque> using namespace std; vector<int> longest_trip(int N, int D) { vector<int> ans; if (D == 3) { for (int i = 0; i < N; i++) { ans.push_back(i); } return ans; } if (D == 2) { deque<int> d; int sksel = 0; if (are_connected({ 0 }, { 1 })) { d.push_back(0); d.push_back(1); sksel = 2; } else { d.push_back(0); d.push_back(2); d.push_back(1); sksel = 3; } for (int i = sksel; i < N; i++) { if (are_connected({ i }, { d.back() })) { d.push_back(i); } else { d.push_front(i); } } while(!d.empty()) { ans.push_back(d.back()); d.pop_back(); } return ans; } vector<int> a = { 0 }, b = {1}; for (int i = 2; i < N; i++) { if (are_connected({ a.back() }, { i })) { a.push_back(i); } else if (are_connected({ b.back() }, {i})) { b.push_back(i); } else { for (int j = b.size() - 1; j >= 0; j--) { a.push_back(b[j]); } b.clear(); b.push_back(i); } } if (a.size() > b.size()) return a; return b; }
#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...