Submission #1361547

#TimeUsernameProblemLanguageResultExecution timeMemory
1361547kawhietArt Collections (BOI22_art)C++20
20 / 100
37 ms532 KiB
#include <bits/stdc++.h>
#include "art.h"
using namespace std;

void solve(int n) {
    vector<int> a(n);
    iota(a.begin(), a.end(), 1);
    vector<set<int>> s(n + 1);
    int x = publish(a);
    if (x == 0) {
        answer(a);
        return;
    }
    for (int t = 0; t < n; t++) {
        for (int i = 1; i < n; i++) {
            int j = i - 1;
            if (s[a[j]].count(a[i])) {
                continue;
            }
            swap(a[i], a[j]);
            int y = publish(a);
            if (y == x - 1) {
                s[a[j]].insert(a[i]);
                x = y;
                if (x == 0) {
                    answer(a);
                }
            } else {
                s[a[i]].insert(a[j]);
                swap(a[i], a[j]);
            }
        }
    }
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...