Submission #987430

#TimeUsernameProblemLanguageResultExecution timeMemory
987430hugo_pmIsland Hopping (JOI24_island)C++17
2 / 100
4 ms880 KiB
#include "island.h"
#include <bits/stdc++.h>
using namespace std;

void solve(int N, int L) {
    vector<set<int>> adj(N+1);
    vector<int> myMin(N+1);
    for (int node = 1; node <= N; ++node) {
        myMin[node] = query(node, 1);
        adj[node].insert(myMin[node]);
        adj[myMin[node]].insert(node);
    }
    for (int node = 1; node <= N; ++node) {
        set<int> bad = adj[myMin[node]];
        for (int k = 2; k <= N-1; ++k) {
            int voisin = query(node, k);
            if (bad.count(voisin))
                break;
            adj[node].insert(voisin);
            adj[voisin].insert(node);
            for (int x : adj[voisin])
                bad.insert(x);
        }
    }
    for (int node = 1; node <= N; ++node) {
        for (int voisin : adj[node]) if (node < voisin) {
            answer(node, voisin);
        }
    }
}
#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...