Submission #1178580

#TimeUsernameProblemLanguageResultExecution timeMemory
1178580amine_arouaFire (JOI20_ho_t5)C++20
1 / 100
1096 ms18264 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
    int n , q;
    cin>>n>>q;
    vector<int> s(2 * n + 1);
    vector<int> t(q) , l(q) , r(q);
    for(int i = n ;i < 2 * n ; i++)
    {
        cin>>s[i];
    }
    for(int I = 0 ; I < q ;I++)
    {
        cin>>t[I]>>l[I]>>r[I];
        vector<int> arr(n + 1);
        multiset<int> ms;
        t[0] = t[I];
        for(int i = n - t[0] ; i <= n ; i++)
            ms.insert(s[i]);
        arr[1] = *prev(ms.end());
        for(int i = n+1 ; i < 2 * n ; i++)
        {
            ms.erase(ms.find(s[i - t[0] - 1]));
            ms.insert(s[i]);
            arr[i - n + 1] = *prev(ms.end());
        }
        for(int i = 1 ; i <= n ; i++)
        {
            arr[i]+=arr[i - 1];
        }
        cout<<arr[r[I]] - arr[l[I] - 1]<<'\n';
    }
}
#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...