172472025-06-07 21:12:29algoproGamecpp17Időlimit túllépés 30/1002.582s1172 KiB
// UUID: 7af4e01c-8942-4a92-9a4c-c5dfcc406d3c
#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]--;
        while (ptr >= 0 && q[ptr]<=0) --ptr;
        for(int i=1;i<n;i++){
            int j = i + x - 1;
            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
1Elfogadva1ms508 KiB
2Elfogadva1ms500 KiB
3Elfogadva3ms316 KiB
4Elfogadva4ms316 KiB
subtask30/70
1Elfogadva43ms316 KiB
2Elfogadva45ms464 KiB
3Elfogadva135ms500 KiB
4Elfogadva158ms508 KiB
5Elfogadva596ms820 KiB
6Elfogadva1.187s820 KiB
7Elfogadva822ms820 KiB
8Elfogadva689ms632 KiB
9Elfogadva1.128s1076 KiB
10Elfogadva1.549s1172 KiB
11Elfogadva1.029s820 KiB
12Időlimit túllépés2.582s1128 KiB
13Elfogadva1.794s1076 KiB
14Időlimit túllépés2.581s1076 KiB