Submission #1222198

#TimeUsernameProblemLanguageResultExecution timeMemory
1222198kargneqComparing Plants (IOI20_plants)C++20
0 / 100
4094 ms2628 KiB
#include <bits/stdc++.h>
using namespace std;

vector<int> r;
vector<int> perm;
int n, k;

void init(int kk, std::vector<int> rr) {
    r = rr;
    n = r.size();
    k = kk;
}

bool valid(const vector<int>& p) {
    for (int i = 0; i < n; ++i) {
        int cnt = 0;
        for (int j = 1; j < k; ++j) {
            int idx = (i + j) % n;
            if (p[idx] > p[i]) cnt++;
        }
        if (cnt != r[i]) return false;
    }
    return true;
}

int compare_plants(int x, int y) {
    int gt = 0, lt = 0;
    vector<int> p(n);
    iota(p.begin(), p.end(), 0);
    do {
        if (valid(p)) {
            if (p[x] > p[y]) gt = 1;
            if (p[x] < p[y]) lt = 1;
        }
    } while (next_permutation(p.begin(), p.end()));
    if (gt && !lt) return 1;
    if (!gt && lt) return -1;
    return 0;
}
#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...