Submission #1239962

#TimeUsernameProblemLanguageResultExecution timeMemory
1239962banganLongest Trip (IOI23_longesttrip)C++20
25 / 100
4 ms420 KiB
#include "longesttrip.h"
#include <bits/stdc++.h>
using namespace std;

#define pb push_back

bool check(int v, int u) {
    return are_connected({v}, {u});
}

std::vector<int> longest_trip(int N, int D) {
    deque<int> A, B;
    A = {0};
    B = {1};
    for (int x=2; x<N; x++) {
        int v = A.back();
        int u = B.back();
        if (check(x, v)) A.pb(x);
        else if (check(x, u)) B.pb(x);
        else {
            while (!B.empty()) {
                A.pb(B.back());
                B.pop_back();
            }
            B.pb(x);
        }
    }
    if (A.size() < B.size()) swap(A, B);
    vector<int> ret;
    while (!A.empty()) {
        ret.pb(A.back());
        A.pop_back();
    }
    return ret;
}
#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...