// 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;
}
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 10/10 | ||||||
| 1 | Accepted | 3ms | 2612 KiB | ||||
| 2 | Accepted | 3ms | 2612 KiB | ||||
| subtask2 | 20/20 | ||||||
| 1 | Accepted | 3ms | 2612 KiB | ||||
| 2 | Accepted | 4ms | 2612 KiB | ||||
| 3 | Accepted | 4ms | 2612 KiB | ||||
| 4 | Accepted | 7ms | 2612 KiB | ||||
| subtask3 | 0/70 | ||||||
| 1 | Accepted | 39ms | 2808 KiB | ||||
| 2 | Accepted | 41ms | 3016 KiB | ||||
| 3 | Accepted | 127ms | 2868 KiB | ||||
| 4 | Accepted | 148ms | 2868 KiB | ||||
| 5 | Accepted | 555ms | 3636 KiB | ||||
| 6 | Accepted | 1.103s | 3380 KiB | ||||
| 7 | Accepted | 763ms | 3380 KiB | ||||
| 8 | Accepted | 754ms | 3476 KiB | ||||
| 9 | Accepted | 1.055s | 4148 KiB | ||||
| 10 | Accepted | 1.45s | 4148 KiB | ||||
| 11 | Accepted | 1.128s | 3608 KiB | ||||
| 12 | Time limit exceeded | 2.549s | 4188 KiB | ||||
| 13 | Accepted | 1.677s | 4148 KiB | ||||
| 14 | Time limit exceeded | 2.588s | 4376 KiB | ||||