#include <bits/stdc++.h>
using namespace std;
int const MAX=3e5+5;
int n;
long long delta;
long long cost[MAX];
void read(){
cin>>n>>delta;
int i;
for(i=1;i<=n;++i)
cin>>cost[i];
}
long long solve(int l,int r){
long long val=cost[r];
int i;
long long total=0;
for(i=r-1;i>=l;--i){
long long cnt=0;
if(cost[i]>val)
cnt=(cost[i]-val+delta-1)/delta;
total+=cnt;
val=cost[i]-cnt*delta;
if(val<0)
return -1;
}
return total;
}
void process_queries(){
int q;
cin>>q;
while(q--){
int l,r;
cin>>l>>r;
cout<<solve(l,r)<<'\n';
}
}
int main()
{
read();
process_queries();
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |