제출 #1217886

#제출 시각아이디문제언어결과실행 시간메모리
1217886trimkusFish 3 (JOI24_fish3)C++20
7 / 100
81 ms8004 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = double;

int main() {
	//~ ofstream cout("out.txt");
	ios::sync_with_stdio(0);
	cin.tie(0);
	int n;
	ll d;
	cin >> n >> d;
	vector<ll> a(n);
	vector<ll> ps(n);
	for (int i = 0; i < n; ++i) {
		cin >> a[i];
		ps[i] += a[i];
		if (i) ps[i] += ps[i - 1];
	}
	vector<int> left(n, -1);
	for (int i = 0; i < n; ++i) {
		left[i] = (a[i] == 0 ? i : -1);
		if (i) left[i] = max(left[i], left[i - 1]);
	}
	int q;
	cin >> q;
	while (q--) {
		int l, r;
		cin >> l >> r;
		--l; --r;
		if (left[r] < l) {
			cout << "0\n";
			continue;
		}
		ll sum = ps[left[r]] - (l > 0 ? ps[l - 1] : 0);
		if (sum > 0 && d > 1) {
			cout << "-1\n";
			continue;
		}
		cout << sum << "\n";
	}
}

#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...