Submission #1236029

#TimeUsernameProblemLanguageResultExecution timeMemory
1236029stanirinaComparing Plants (IOI20_plants)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h>
#include "plants.h"

using namespace std;

vector<int> v;
vector<int> rc;
int n;
int kk;

void init(int k, std::vector<int> r) {
    kk=k;
    n=r.size();
    rc.resize(n*2);
    v.resize(n,0);
    for(int i=0;i<n;i++)rc[i]=rc[i+n]=r[i];
    for(int i=n;i<2*n;i++){
        if(rc[i]==rc[i-1])v[n-1]++;
        else break;
    }
    for(int i=n-1;i>=0;i--){
        if(rc[i]==rc[i+1])v[i]=v[i+1]+1;
        else v[i]=0;
    }
	return;
}

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