172562025-06-08 11:56:41algoproGamecpp17Time limit exceeded 30/1002.588s4376 KiB
// UUID: e6c0199c-49f5-44c2-9770-21bb310e4ef5
#include<bits/stdc++.h>

using namespace std;

long long n,m,k,l,i,j,a,b,res,mx,ans,t,c,d[200005],g[200005],f[200005];
string s;
vector<int>v[100005];

main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin>>n>>m;

for(i=1;i<=n;i++){
    cin>>d[i];
}

for(i=0;i<m;i++){
    cin>>g[i];
}

for(i=0;i<m;i++){
    mx=0;
    for(j=1;j<=g[i];j++){
        f[d[j]]++;
        mx=max(mx,d[j]);
    }
    a=mx;b=0;
    f[mx]--;
                while(f[mx]==0 && mx>0){
                mx--;
            }
    for(j=g[i]+1;j<=n+g[i];j++){
        if(d[j]>=mx)
            if(j%2==g[i]%2) a+=d[j]; else b+=d[j];
        else
        {
            f[d[j]]++;
            while(f[mx]==0 && mx>0){
                mx--;
            }
            f[mx]--;
            if(j%2==g[i]%2) a+=mx; else b+=mx;
        }
    }
    cout<<a-b<<endl;
}

}

SubtaskSumTestVerdictTimeMemory
subtask110/10
1Accepted3ms2612 KiB
2Accepted3ms2612 KiB
subtask220/20
1Accepted3ms2612 KiB
2Accepted4ms2612 KiB
3Accepted4ms2612 KiB
4Accepted7ms2612 KiB
subtask30/70
1Accepted39ms2808 KiB
2Accepted41ms3016 KiB
3Accepted127ms2868 KiB
4Accepted148ms2868 KiB
5Accepted555ms3636 KiB
6Accepted1.103s3380 KiB
7Accepted763ms3380 KiB
8Accepted754ms3476 KiB
9Accepted1.055s4148 KiB
10Accepted1.45s4148 KiB
11Accepted1.128s3608 KiB
12Time limit exceeded2.549s4188 KiB
13Accepted1.677s4148 KiB
14Time limit exceeded2.588s4376 KiB