172432025-06-07 19:10:02gfaragoGamecpp17Time limit exceeded 30/1002.599s3808 KiB
#include <bits/stdc++.h>
#include <vector>
using namespace std;

int main() {
    ios::sync_with_stdio(false);cin.tie(NULL);
    #define int long
	int n, k;cin>>n>>k;
    vector<int> a(n);
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    vector<int>q(n+1);
    while(k--){
        int x;cin>>x;
        priority_queue<int> qq;
        for(int i=0;i<x;i++){
            qq.push(a[i]);
            q[a[i]]++;
        }
        int alice=qq.top(), bob=0;
        qq.pop();
        for(int i=1;i<n;i++){
            if(i%2==0){
                if(i+x-1<n && a[i+x-1]>qq.top()){
                    alice+=a[i+x-1];
                }else{
                    if(i+x-1<n) { q[a[i+x-1]]++; qq.push(a[i+x-1]); }
                    alice+=qq.top();
                    qq.pop();
                }
            }else{
                if(i+x-1<n && a[i+x-1]>qq.top()){
                    bob+=a[i+x-1];
                }else{
                    if(i+x-1<n) { q[a[i+x-1]]++; qq.push(a[i+x-1]); }
                    bob+=qq.top();
                    qq.pop();
                }
            }
        }
        cout<<alice-bob<<'\n';
    }
}
SubtaskSumTestVerdictTimeMemory
subtask110/10
1Accepted1ms512 KiB
2Accepted1ms316 KiB
subtask220/20
1Accepted3ms316 KiB
2Accepted2ms316 KiB
3Accepted9ms316 KiB
4Accepted25ms316 KiB
subtask30/70
1Accepted241ms548 KiB
2Accepted254ms604 KiB
3Accepted810ms752 KiB
4Accepted976ms784 KiB
5Time limit exceeded2.594s2296 KiB
6Time limit exceeded2.599s2408 KiB
7Time limit exceeded2.582s2128 KiB
8Time limit exceeded2.582s3412 KiB
9Time limit exceeded2.578s3520 KiB
10Time limit exceeded2.599s3660 KiB
11Time limit exceeded2.585s3748 KiB
12Time limit exceeded2.579s3500 KiB
13Time limit exceeded2.576s3768 KiB
14Time limit exceeded2.599s3808 KiB