Submission #421055

#TimeUsernameProblemLanguageResultExecution timeMemory
421055MonchitoComparing Plants (IOI20_plants)C++14
5 / 100
94 ms8652 KiB
#include <iostream>
#include <vector>
using namespace std;

int K, N;
vector<int> R, pref;

void init(int k, vector<int> r){
    K = k;
    R = r;
    N = (int)r.size();

    pref = vector<int>(N+1, 0);
    for(int i=1; i<=N; i++) pref[i] = pref[i-1] + r[i-1];
}

int compare_plants(int x, int y){
    int sum = pref[y] - pref[x+1]; 

    //cout << "#### debug log: sum1 = " << sum << " #####\n";

    if(R[x] == 0 && sum == 0) return 1; 
    if(R[x] == 1 && sum == y-x-1) return -1;

    sum = pref[N] - pref[y+1] + pref[x];

    //cout << "#### debug log: sum2 = " << sum << " #####\n";

    if(R[y] == 0 && sum == 0) return -1;
    if(R[y] == 1 && sum == N-(y+1) + x) return 1;

    return 0;
}

/*
int main(){
    int n, k, q; cin >> n >> k >> q;
    vector<int> r(n);
    for(int i=0; i<n; i++) cin >> r[i];

    init(k, r);

    while(q--){
        int x, y; cin >> x >> y;
        cout << compare_plants(x, y) << endl;
    }

    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...