# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
369786 | MilosMilutinovic | Comparing Plants (IOI20_plants) | C++14 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//#include "plants.h"
#include <bits/stdc++.h>
using namespace std;
int n, k;
vector<int> a, sum;
int check1(int x, int y) {
if((x==0&&sum[y-1]==0)||sum[y-1]==sum[x-1])
return 1;
int nxt=sum[n-1]-sum[y-1];
int prv=(x==0?0:sum[x-1]);
if(nxt==n-y&&prv==x)
return 1;
if((x==0&&sum[y-1]==y)||sum[y-1]-sum[x-1]==y-x)
return -1;
nxt=sum[n-1]-sum[y-1];
prv=(x==0?0:sum[x-1]);
if(nxt==0&&prv==0)
return -1;
return 0;
}
int compare_plants(int x, int y) {
if(k==2)
return check1(x,y);
// if(k*2>n)
// return check2(x,y);
}
void init(int K, vector<int> r) {
n=(int)r.size(), k=K, a=r, sum=a, partial_sum(sum.begin(), sum.end(), sum.begin());
}
int main() {
init(2, {0, 1, 0, 1});
cout << compare_plants(1, 3);
return 0;
}