Submission #1064916

#TimeUsernameProblemLanguageResultExecution timeMemory
1064916ZicrusComparing Plants (IOI20_plants)C++17
14 / 100
4035 ms9552 KiB
#include <bits/stdc++.h>
#include "plants.h"
using namespace std;

typedef long long ll;

ll n1;
ll val;
vector<ll> a1;

void init(int k, vector<int> r) {
    n1 = r.size();
    val = n1;
    a1 = vector<ll>(n1);
    while (val > 0) {
        ll id = 0;
        for (int i = n1-1; i >= 0; i--) {
            if (r[i] == 0) {
                id = i;
                break;
            }
        }
        ll finId = id;
        for (int i = 1; i < k && id > 0; i++) {
            id--;
            if (r[id] == 0) {
                i = 1;
                finId = id;
            }
        }
        a1[finId] = val--;
        for (int i = 1; i < k; i++) {
            ll tId = (finId - i + n1) % n1;
            r[tId]--;
        }
        r[finId] = 1 << 30;
    }
}

int compare_plants(int x, int y) {
	return a1[x] > a1[y] ? 1 : -1;
}

#ifdef TEST
#include "grader.cpp"
#endif
#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...