제출 #1272749

#제출 시각아이디문제언어결과실행 시간메모리
1272749muhammad-ahmadFish 3 (JOI24_fish3)C++20
0 / 100
182 ms13844 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define endl '\n'

signed main(){
	int N, D; cin >> N >> D;
	int C[N + 1] = {};
	bool S2 = 1;
	for (int i = 1; i <= N; i++) {
		cin >> C[i];
		if (C[i] > 1) S2 = 0;
	}
	int Q; cin >> Q;
	int L[Q + 1], R[Q + 1];
	for (int i = 1; i <= Q; i++) cin >> L[i] >> R[i];
	if (S2){
		int A[N + 1] = {}, P[N + 1] = {};
		for (int i = 1; i <= N; i++){
			if (C[i] == 1) A[i] = A[i - 1] + 1;
			P[i] = P[i - 1] + C[i];
		}
		for (int i = 1; i <= Q; i++){
			int l = L[i], r = R[i];
			if (P[r] - P[l - 1] == A[r]){
				cout << 0 << endl;
			}
			else if (D == 1){
				cout << P[r] - P[l - 1] - A[r] << endl;
			}
			else cout << -1 << endl;
		}
	}
	
}
#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...