172692025-06-08 12:31:20algoproGamecpp17Időlimit túllépés 30/1002.585s1268 KiB
// UUID: 69099792-07b5-43b8-af8b-3cf58f59feb2
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")

#include <iostream>

using namespace std;

const int MAX_N = 1e5;
int a[MAX_N];

int f[1 + MAX_N];

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n, k;
    cin >> n >> k;
    for ( int i = 0; i < n; i ++ )
        cin >> a[i];
        
    for ( ; k > 0; k -- ) {
        int p;
        cin >> p;
        for ( int i = 1; i <= n; i ++ )
            f[i] = 0;
        for ( int i = 0; i < p; i ++ )
            f[a[i]] ++;
            
        int mx = n, pocket = 0, player = 1;
        long long score = 0;
        for ( int i = p; i < n; i ++, player *= -1 ) {
            if ( pocket ) {
                score += pocket * player;
                pocket = 0;
            } else {
                while ( !f[mx] )
                    mx --;
                f[mx] --;
                score += mx * player;
            }
            if ( a[i] <= mx )
                f[a[i]] ++;
            else
                pocket = a[i];
        }
        
        for ( int i = 0; i < p; i ++, player *= -1 ) {
            if ( pocket ) {
                score += pocket * player;
                pocket = 0;
            } else {
                while ( !f[mx] )
                    mx --;
                f[mx] --;
                score += mx * player;
            }
        }
        cout << score << '\n';
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask110/10
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
subtask220/20
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
3Elfogadva2ms316 KiB
4Elfogadva4ms316 KiB
subtask30/70
1Elfogadva28ms508 KiB
2Elfogadva30ms476 KiB
3Elfogadva104ms500 KiB
4Elfogadva126ms512 KiB
5Elfogadva528ms820 KiB
6Elfogadva1.049s820 KiB
7Elfogadva726ms820 KiB
8Elfogadva630ms1080 KiB
9Elfogadva999ms1076 KiB
10Elfogadva1.375s1176 KiB
11Elfogadva911ms1268 KiB
12Elfogadva2.411s1076 KiB
13Elfogadva1.585s1172 KiB
14Időlimit túllépés2.585s1268 KiB