Submission #1201903

#TimeUsernameProblemLanguageResultExecution timeMemory
1201903TriseedotComparing Plants (IOI20_plants)C++20
5 / 100
50 ms6472 KiB
#include "plants.h"
#include <bits/stdc++.h>
using namespace std;
#define len(v) (int) (v.size())

int n, k;
vector<int> r;
vector<int> p;
void init(int K, vector<int> R) {
    r = R;
    k = K;
    n = len(r);
    p.assign(2 * n + 1, 0);
    for (int i = 0; i < 2 * n; i++) {
        int i1 = i % n, i2 = (i - 1 + n) % n;
        if (r[i1] != r[i2]) {
            p[i + 1]++;
        }
    }
    for (int i = 1; i <= 2 * n; i++) {
        p[i] += p[i - 1];
    }
	return;
}

int compare_plants(int x, int y) {
    if (p[y] - p[x + 1] == 0) {
        if (r[x] == 1) {
            return -1;
        }
        else {
            return 1;
        }
    }
    else if (p[n + x] - p[y + 1] == 0) {
        if (r[y] == 1) {
            return 1;
        }
        else {
            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...