#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 3e5;
const int MAX_LOG_N = 18;
const long long INF = 1e18;
int n;
long long d;
int nxt[MAX_LOG_N + 1][MAX_N + 1];
long long a[MAX_N + 1], sum[MAX_N + 1], surplus[MAX_N + 1], sumsurplus[MAX_N + 1];
long long cost[MAX_LOG_N + 1][MAX_N + 1];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> d;
for (int i = 1; i <= n; i++)
cin >> a[i];
int q;
cin >> q;
for (; q > 0; q--) {
int l, r;
cin >> l >> r;
long long ans = 0;
long long h = a[r];
for (int i = r - 1; i >= l; i--) {
long long k = (a[i] - h + d - 1) / d;
k = max(k, 0LL);
h = a[i] - k * d;
ans += k;
}
cout << (h < 0 ? -1 : ans) << "\n";
}
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... |