// UUID: 0e45b1bf-3d67-48f0-8701-35fee632b2aa
#include <bits/stdc++.h>
using namespace std;
int a[100001], q[100001];
int main() {
ios::sync_with_stdio(false);cin.tie(NULL);
int n, k;cin>>n>>k;
for(int i=0;i<n;i++){
cin>>a[i];
}
while(k--){
int x;cin>>x;
int ptr=0;
for(int i=0;i<x;i++){
ptr=max(ptr, a[i]);
q[a[i]]++;
}
long long alice=ptr, bob=0;
q[ptr]--;
if(q[ptr]<=0){
for(int i=ptr;i>=0 && q[i]<=0;i--){
ptr=i;
}
ptr--;
}
for(int i=1;i<n;i++){
if(i%2==0){
if(i+x-1<n && a[i+x-1]>ptr){
alice+=a[i+x-1];
}else{
if(i+x-1<n) q[a[i+x-1]]++;
alice+=ptr;
q[ptr]--;
if(q[ptr]<=0){
for(int i=ptr;i>=0 && q[i]<=0;i--){
ptr=i;
}
ptr--;
}
}
}else{
if(i+x-1<n && a[i+x-1]>ptr){
bob+=a[i+x-1];
}else{
if(i+x-1<n) q[a[i+x-1]]++;
bob+=ptr;
q[ptr]--;
if(q[ptr]<=0){
for(int i=ptr;i>=0 && q[i]<=0;i--){
ptr=i;
}
ptr--;
}
}
}
}
cout<<alice-bob<<'\n';
}
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 10/10 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Elfogadva | 1ms | 316 KiB | ||||
| subtask2 | 20/20 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Elfogadva | 1ms | 316 KiB | ||||
| 3 | Elfogadva | 2ms | 316 KiB | ||||
| 4 | Elfogadva | 4ms | 316 KiB | ||||
| subtask3 | 0/70 | ||||||
| 1 | Elfogadva | 35ms | 460 KiB | ||||
| 2 | Elfogadva | 37ms | 656 KiB | ||||
| 3 | Elfogadva | 115ms | 496 KiB | ||||
| 4 | Elfogadva | 135ms | 512 KiB | ||||
| 5 | Elfogadva | 519ms | 1004 KiB | ||||
| 6 | Elfogadva | 1.031s | 820 KiB | ||||
| 7 | Elfogadva | 713ms | 820 KiB | ||||
| 8 | Elfogadva | 570ms | 564 KiB | ||||
| 9 | Elfogadva | 982ms | 1076 KiB | ||||
| 10 | Elfogadva | 1.348s | 1168 KiB | ||||
| 11 | Elfogadva | 874ms | 820 KiB | ||||
| 12 | Elfogadva | 2.374s | 1332 KiB | ||||
| 13 | Elfogadva | 1.559s | 1172 KiB | ||||
| 14 | Időlimit túllépés | 2.585s | 1076 KiB | ||||