Submission #941840

#TimeUsernameProblemLanguageResultExecution timeMemory
941840benjaminkleyn가장 긴 여행 (IOI23_longesttrip)C++17
40 / 100
12 ms852 KiB
#include <bits/stdc++.h> #include "longesttrip.h" using namespace std; vector<int> longest_trip(int N, int D) { if (D == 3) { vector<int> res(N); iota(res.begin(), res.end(), 0); return res; } if (D == 2) { vector<int> res; int cur; if (are_connected({0}, {1})) res = {0, 1}, cur = 2; else res = {0, 2, 1}, cur = 3; for (int i = cur; i < N; i++) { if (!are_connected({res.back()}, {i})) reverse(res.begin(), res.end()); res.push_back(i); } return res; } vector<int> A = {0}, B = {1}; for (int i = 2; i < N; i++) { if (are_connected({i}, {A.back(), B.back()})) { if (are_connected({i}, {A.back()})) A.push_back(i); else B.push_back(i); } else { reverse(B.begin(), B.end()); for (int x : B) A.push_back(x); B = {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...