Submission #1207000

#TimeUsernameProblemLanguageResultExecution timeMemory
1207000PekibanLongest Trip (IOI23_longesttrip)C++20
15 / 100
3 ms416 KiB
#include "longesttrip.h" #include <bits/stdc++.h> using namespace std; #define pb push_back vector<int> longest_trip(int n, int D) { if (D == 3) { vector<int> v(n); iota(v.begin(), v.end(), 0); return v; } if (D == 2) { deque<int> dq; dq = {0}; set<int> s; for (int i = 1; i < n; ++i) s.insert(i); while (s.size() > 1) { int x = *s.begin(); s.erase(x); int y = *s.begin(); s.erase(y); if (are_connected({dq.back()}, {x})) { dq.pb(x); s.insert(y); } else { dq.pb(y); s.insert(x); } } int x = *s.begin(); if (are_connected({dq.back()}, {x})) dq.pb(x); else dq.push_front(x); vector<int> v(n); for (int i = 0; i < n; ++i) v[i] = dq[i]; return v; } if (D == 1) { vector<int> A = {0}, B; for (int i = 1; i < n; ++i) { if (are_connected({A.back()}, {i})) A.pb(i); else B.pb(i); } return A.size() > B.size() ? A : B; } return {}; }
#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...