Submission #1325973

#TimeUsernameProblemLanguageResultExecution timeMemory
1325973AvianshFish 3 (JOI24_fish3)C++20
9 / 100
2094 ms5124 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long

signed main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n,d;
    cin >> n >> d;
    int c[n];
    for(int &i : c){
        cin >> i;
    }
    int q;
    cin >> q;
    while(q--){
        int l,r;
        cin >> l >> r;
        l--;r--;
        int ans = 0;
        int curmn = 1e18;
        for(int i = r;i>=l;i--){
            curmn=min(curmn,c[i]);
            int req = c[i]-curmn;
            if(req%d)
                req+=(d-(req%d));
            if(c[i]-req<0){
                ans=1e18;
                break;
            }
            else{
                curmn=min(curmn,c[i]-req);
                ans+=req/d;
            }
        }
        if(ans>=1e18){
            cout << -1 << "\n";
        }
        else{
            cout << ans << "\n";
        }
    }
    return 0;
}
#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...