Submission #1187762

#TimeUsernameProblemLanguageResultExecution timeMemory
1187762MatteoArcariLongest Trip (IOI23_longesttrip)C++20
0 / 100
3 ms408 KiB
#include "longesttrip.h"
#include <bits/stdc++.h>
using namespace std;

bool are_connected(vector<int> A, vector<int> B);

vector<int> connect(vector<int> a, vector<int> b) {
    reverse(a.begin(), a.end());
    for (auto x: b) a.push_back(x);
    return a;
}

vector<int> longest_trip(int n, int d) {
    vector<int> pathA = {0}, pathB = {1};

    for (int i = 2; i < n; i++) {
        if (are_connected({pathA.back()}, {i})) {
            pathA.push_back(i);
        } else if (are_connected({pathB.back()}, {i})) {
            pathB.push_back(i);
        } else {
            pathA = connect(pathA, pathB);
            pathB = {i};
        }
    }


    if (pathA.size() > pathB.size()) return pathA;
    return pathB;
}
#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...