// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
#include <queue>
using namespace std;
int main() {
int n, k;cin>>n>>k;
vector<int> a(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
priority_queue<int> q;
while(k--){
int x;cin>>x;
for(int i=0;i<x;i++){
q.push(a[i]);
}
int alice=0, bob=0;
for(int i=0;i<n;i++){
if(i%2==0){
alice+=q.top();
q.pop();
}else{
bob+=q.top();
q.pop();
}
if(x<n){
q.push(a[x]);
x++;
}
}
cout<<alice-bob<<'\n';
}
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 10/10 | ||||||
| 1 | Accepted | 1ms | 500 KiB | ||||
| 2 | Accepted | 1ms | 316 KiB | ||||
| subtask2 | 20/20 | ||||||
| 1 | Accepted | 3ms | 316 KiB | ||||
| 2 | Accepted | 2ms | 316 KiB | ||||
| 3 | Accepted | 12ms | 408 KiB | ||||
| 4 | Accepted | 28ms | 316 KiB | ||||
| subtask3 | 0/70 | ||||||
| 1 | Accepted | 273ms | 320 KiB | ||||
| 2 | Accepted | 287ms | 316 KiB | ||||
| 3 | Accepted | 916ms | 564 KiB | ||||
| 4 | Accepted | 1.095s | 492 KiB | ||||
| 5 | Time limit exceeded | 2.585s | 1332 KiB | ||||
| 6 | Time limit exceeded | 2.598s | 1180 KiB | ||||
| 7 | Time limit exceeded | 2.586s | 1200 KiB | ||||
| 8 | Time limit exceeded | 2.578s | 1712 KiB | ||||
| 9 | Time limit exceeded | 2.575s | 1780 KiB | ||||
| 10 | Time limit exceeded | 2.598s | 1968 KiB | ||||
| 11 | Time limit exceeded | 2.578s | 1764 KiB | ||||
| 12 | Time limit exceeded | 2.585s | 1712 KiB | ||||
| 13 | Time limit exceeded | 2.578s | 1968 KiB | ||||
| 14 | Time limit exceeded | 2.598s | 1936 KiB | ||||