이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |