#include<bits/stdc++.h>
using namespace std;
#define F first
#define S second
#define pll pair<ll, ll>
#define vll vector<ll>
#define pb push_back
typedef long long ll;
const ll mxN=3e5+5;
const ll inf=1e18;
ll n, d, q;
ll a[mxN];
ll ceil_div(ll x, ll y){
return (x+y-1)/y;
}
void solve(){
cin>>n>>d;
for(ll i=0;i<n;i++){
cin>>a[i];
}
cin>>q;
while(q--){
ll l, r;
cin>>l>>r;
l--; r--;
ll ans=0;
ll pre=inf;
for(ll i=r;i>=l;i--){
ll cur;
if(a[i]<=pre){
cur=a[i];
}
else{
cur=a[i]-ceil_div(a[i]-pre, d)*d;
}
if(cur<0){
ans=-1;
break;
}
ans+=(a[i]-cur)/d;
pre=cur;
}
cout<<ans<<'\n';
}
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
t=1;
while(t--){
solve();
}
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... |