Submission #1161759

#TimeUsernameProblemLanguageResultExecution timeMemory
1161759irmuunFish 3 (JOI24_fish3)C++20
0 / 100
2095 ms4932 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;
	ll c[n+5];
	for(ll i=1;i<=n;i++){
		cin>>c[i];
	}
	ll q;
	cin>>q;
	ll a[n+5];
	while(q--){
		ll l,r;
		cin>>l>>r;
		for(ll i=l;i<=r;i++){
			a[i]=c[i];
		}
		ll ans=0;
		for(ll i=l;i<=r;i++){
			ll mn=a[i]%d;
			for(ll j=i;j<=r;j++){
				a[j]-=mn;
				if(a[j]<0){
					ans=-1;
					break;
				}
			}
			if(ans==-1) break;
		}
		if(ans==-1){
			cout<<ans<<"\n";
			continue;
		}
		for(ll i=l;i<=r;i++){
			ll mn=(ll)1e18;
			for(ll j=l;j<=r;j++){
				mn=min(mn,a[j]);
			}
			for(ll j=i;j<=r;j++){
				a[j]-=mn;
			}
			ans+=a[i]/d;
		}
		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...