Submission #1248937

#TimeUsernameProblemLanguageResultExecution timeMemory
1248937madamadam3가장 긴 여행 (IOI23_longesttrip)C++20
5 / 100
3 ms408 KiB
#include "longesttrip.h"
#include <bits/stdc++.h>

using namespace std;

using vi = vector<int>;
using vvi = vector<vi>;

vi longest_trip(int N, int D) {
    int n = N, d = D;
    vi ans;

    if (d == 3) {
        ans.resize(n); iota(ans.begin(), ans.end(), 0);
        return ans; 
    } else if (d == 2) {
        int a = 0, b = 1;
        vi p1(1, a), p2(1, b);

        for (int i = 2; i < n; i++) {
            if (are_connected({a}, {i})) {
                p1.push_back(i);
                a = i;
            } else {
                p2.push_back(i);
                b = i;
            }
        }

        if (are_connected({a}, {b})) {
            while (!p2.empty()) {
                p1.push_back(p2.back());
                p2.pop_back();
            }
        } else {
            for (auto &el : p2) p1.push_back(el);
        }

        return p1;
    }

    return ans;
}
#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...