Submission #1161757

#TimeUsernameProblemLanguageResultExecution timeMemory
1161757irmuunFish 3 (JOI24_fish3)C++20
0 / 100
2096 ms4936 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=(ll)1e18;
			for(ll j=i;j<=r;j++){
				mn=min(mn,a[j]);
			}
			ll left=a[i]-mn;
			ll val=(left+d-1)/d*d;
			if(val>a[i]){
				ans=-1;
				break;
			}
			ll sub=a[i]-val;
			for(ll j=i;j<=r;j++){
				a[j]-=sub;
			}
			ans+=val/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...