Submission #1258633

#TimeUsernameProblemLanguageResultExecution timeMemory
1258633MisterReaperIsland Hopping (JOI24_island)C++20
100 / 100
2 ms428 KiB
#include <bits/stdc++.h>
#include "island.h"

using i64 = long long;

#ifdef DEBUG 
    #include "/home/ahmetalp/Desktop/Workplace/debug.h"
#else
    #define debug(...) void(23)
#endif

void solve(int N, int L) {
    std::vector<int> ord(N - 1);
    for (int i = 2; i <= N; ++i) {
        ord[i - 2] = query(1, i - 1);
    }

    std::set<int> s {1};

    std::vector<int> p(N + 1, -1);
    for (auto v : ord) {
        debug(s);
        s.emplace(v);
        if (p[v] != -1) {
            continue;
        }
        for (int i = 1; ; ++i) {
            int x = query(v, i);
            if (s.contains(x)) {
                p[v] = x;
                break;
            } else {
                p[x] = v;
            }
        }
    }

    for (int i = 2; i <= N; ++i) {
        answer(p[i], i);
    }
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...