172482025-06-07 21:14:52algoproGamecpp17Időlimit túllépés 30/1002.588s1268 KiB
// UUID: a7cc8d11-eb9e-4c6c-9192-0e488d063b9b
#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, x, ptr;cin>>n>>k;
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    while(k--){
        cin>>x;
        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]--;
        while (ptr >= 0 && q[ptr]<=0) --ptr;
        for(int i=1, j = x;i<n; ++i, ++j){
            if(i%2==0){
                if(j<n && a[j]>ptr){            
                    alice+=a[j];
                }else{
                    if(j<n) q[a[j]]++;
                    alice+=ptr;
                    q[ptr]--;
                    while (ptr >= 0 && q[ptr]<=0) --ptr;
                }
            }else{
                if(j<n && a[j]>ptr){
                    bob+=a[j];
                }else{
                    if(j<n) q[a[j]]++;
                    bob+=ptr;
                    q[ptr]--;
                    while (ptr >= 0 && q[ptr]<=0) --ptr;
                }
            }
        }
        cout<<alice-bob<<'\n';
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask110/10
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
subtask220/20
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
3Elfogadva3ms436 KiB
4Elfogadva4ms436 KiB
subtask30/70
1Elfogadva43ms456 KiB
2Elfogadva46ms316 KiB
3Elfogadva141ms492 KiB
4Elfogadva165ms512 KiB
5Elfogadva649ms708 KiB
6Elfogadva1.296s820 KiB
7Elfogadva901ms820 KiB
8Elfogadva731ms564 KiB
9Elfogadva1.233s1076 KiB
10Elfogadva1.695s1080 KiB
11Elfogadva1.095s820 KiB
12Időlimit túllépés2.584s1268 KiB
13Elfogadva1.968s1176 KiB
14Időlimit túllépés2.588s1076 KiB