# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
369786 | MilosMilutinovic | Comparing Plants (IOI20_plants) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
//#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;
}