Submission #1161767

#TimeUsernameProblemLanguageResultExecution timeMemory
1161767irmuunFish 3 (JOI24_fish3)C++20
7 / 100
90 ms8116 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()

int main(){
	ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
	ll n,d;
	cin>>n>>d;
	vector<ll>v;
	ll c[n+5],pre[n+5];
	pre[0]=0;
	for(ll i=1;i<=n;i++){
		cin>>c[i];
		pre[i]=pre[i-1]+c[i];//0,1
		if(c[i]==0){
			v.pb(i);
		}
	}
	ll q;
	cin>>q;
	ll a[n+5];
	while(q--){
		ll l,r;
		cin>>l>>r;
		if(pre[r]-pre[l-1]==r-l+1){
			cout<<0<<"\n";
			continue;
		}
		ll p=v[upper_bound(all(v),r)-v.begin()-1];
		ll ans=0;
		if(pre[p]-pre[l-1]>0){
			if(d!=1){
				cout<<-1<<"\n";
				continue;
			}
			ans=pre[p]-pre[l-1];
		}
		cout<<ans<<"\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...