172392025-06-07 18:59:09tomi7Gamecpp17Time limit exceeded 30/1002.581s1844 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);cin.tie();
    #define int long
	int n, k;cin>>n>>k;
    int a[100003];
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    int q[100003];
    while(k--){
        int x;cin>>x;
        int ptr=0;
        for(int i=0;i<x;i++){
            ptr=max(ptr, a[i]);
            q[a[i]]++;
        }
        int alice=ptr, bob=0;
   //     cout<<"alice   "<<ptr<<'\n';
        q[ptr]--;
        if(q[ptr]<=0){
            for(int i=ptr;i>=0 && q[i]<=0;i--){
                ptr=i;
            }
            ptr--;
        }
    /*        cout<<"  q: ";
            for(int i=0;i<6;i++){
                cout<<i<<":"<<q[i]<<' ';
            }
            cout<<endl;
            cout << "  ptr:" << ptr << endl;*/
        for(int i=1;i<n;i++){
            if(i%2==0){
                if(i+x-1<n && a[i+x-1]>ptr){            
                    alice+=a[i+x-1];
    //                cout<<"alice    "<<a[i+x-1]<<'\n';
                }else{
                    if(i+x-1<n) q[a[i+x-1]]++;
                    alice+=ptr;
     //               cout<<"alice    "<<ptr<<'\n';
                    q[ptr]--;
                    if(q[ptr]<=0){
                        for(int i=ptr;i>=0 && q[i]<=0;i--){
                            ptr=i;
                        }
                        ptr--;
                    }
                }
            }else{
                if(i+x-1<n && a[i+x-1]>ptr){
                    bob+=a[i+x-1];
     //               cout<<"bob   "<<a[i+x-1]<<'\n';
                }else{
                    if(i+x-1<n) q[a[i+x-1]]++;
                    bob+=ptr;
   //                 cout<<"bob   "<<ptr<<'\n';
                    q[ptr]--;
                    if(q[ptr]<=0){
                        for(int i=ptr;i>=0 && q[i]<=0;i--){
                            ptr=i;
                        }
                        ptr--;
                    }
                }
            }
     /*       cout<<"  q: ";
            for(int i=0;i<6;i++){
                cout<<i<<":"<<q[i]<<' ';
            }
            cout<<endl;
            cout << "  ptr:" << ptr << endl;*/
        }
        cout<<alice-bob<<'\n';
    }
}
SubtaskSumTestVerdictTimeMemory
subtask110/10
1Accepted1ms316 KiB
2Accepted1ms316 KiB
subtask220/20
1Accepted2ms316 KiB
2Accepted1ms316 KiB
3Accepted3ms316 KiB
4Accepted6ms316 KiB
subtask30/70
1Accepted41ms316 KiB
2Accepted45ms552 KiB
3Accepted140ms568 KiB
4Accepted164ms748 KiB
5Accepted607ms1076 KiB
6Accepted1.207s1076 KiB
7Accepted838ms1196 KiB
8Accepted750ms1076 KiB
9Accepted1.156s1844 KiB
10Accepted1.588s1844 KiB
11Accepted1.126s1076 KiB
12Time limit exceeded2.581s1592 KiB
13Accepted1.833s1844 KiB
14Wrong answer944ms1844 KiB