172432025-06-07 19:10:02gfaragoGamecpp17Időlimit túllépés 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';
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask110/10
1Elfogadva1ms512 KiB
2Elfogadva1ms316 KiB
subtask220/20
1Elfogadva3ms316 KiB
2Elfogadva2ms316 KiB
3Elfogadva9ms316 KiB
4Elfogadva25ms316 KiB
subtask30/70
1Elfogadva241ms548 KiB
2Elfogadva254ms604 KiB
3Elfogadva810ms752 KiB
4Elfogadva976ms784 KiB
5Időlimit túllépés2.594s2296 KiB
6Időlimit túllépés2.599s2408 KiB
7Időlimit túllépés2.582s2128 KiB
8Időlimit túllépés2.582s3412 KiB
9Időlimit túllépés2.578s3520 KiB
10Időlimit túllépés2.599s3660 KiB
11Időlimit túllépés2.585s3748 KiB
12Időlimit túllépés2.579s3500 KiB
13Időlimit túllépés2.576s3768 KiB
14Időlimit túllépés2.599s3808 KiB