Submission #1180017

#TimeUsernameProblemLanguageResultExecution timeMemory
1180017omarrrrFire (JOI20_ho_t5)C++20
1 / 100
1094 ms12184 KiB
#include<bits/stdc++.h>
#define ll long long
#define S second
#define F first
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);cin.tie(0);
    ll n,q,a,b,t;
    cin>>n>>q;
    vector<ll>s(n),x(n);
    for(ll i=0;i<n;i++){
        cin>>s[i];
    }


    ll pref[n+5];


    while(q--){
        cin>>t>>a>>b;
        priority_queue<pair<ll,ll>>mx;
        mx.push({s[0],0});
        for(ll i=1;i<n;i++){
            mx.push({s[i],i});
            while(i-mx.top().S>=t+1){
                mx.pop();
            }
            x[i]=mx.top().F;
        }
        x[0]=s[0];
//        for(ll j:x){
//            cout<<j<<" ";
//        }
        pref[0]=0;
        for(ll i=0;i<n;i++){
            pref[i+1]=pref[i]+x[i];
//        cout<<pref[i+1]<<" ";
        }
        a--;
        cout<<pref[b]-pref[a]<<"\n";
    }

    return 0;
}
/*
 5 5
 9 3 2 6 5
 3 2 2
 3 1 5
 3 3 5
 3 2 5
 3 2 4

 */

#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...