9471 2024. 02. 22 09:27:15 csaron71 Bányász RPG (40 pont) cpp17 Időlimit túllépés 36/40 400ms 7252 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin >> n;
    vector<int> kell;
    vector<pair<int, int> > kovek;
    for (int i=0; i<n; i++) {
        int x;
        cin >> x;
        kell.push_back(x);
    }
    for (int i=0; i<n; i++) {
        int x;
        cin >> x;
        kovek.push_back({kell[i], x});
    }
    sort(kovek.begin(), kovek.end());
    deque<pair<int, int> > sor; // szint, hany
    for (auto sz : kovek) {
        sor.push_back(sz);
    }

    int szint=0;
    int ido=0;
    while (sor.size()>0) {
        if (szint>=sor.front().first) {
            szint+=sor.front().second;
            ido+=sor.front().second;
            sor.pop_front();
        }
        else {
            if (sor.back().second==0) {
                sor.pop_back();
            }
            ido+=2;
            sor.back().second--;
            szint++;
        }
        //cout << "\n" << szint << " TIME: " << ido << "\n";
    }

    cout << ido << " \n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 36/40
1 Elfogadva 0/0 3ms 1700 KiB
2 Elfogadva 0/0 8ms 2576 KiB
3 Elfogadva 2/2 3ms 2184 KiB
4 Elfogadva 2/2 3ms 2204 KiB
5 Elfogadva 2/2 7ms 2936 KiB
6 Elfogadva 2/2 14ms 3468 KiB
7 Elfogadva 2/2 4ms 2776 KiB
8 Elfogadva 2/2 4ms 3036 KiB
9 Elfogadva 3/3 3ms 2976 KiB
10 Elfogadva 3/3 3ms 3188 KiB
11 Elfogadva 3/3 2ms 3268 KiB
12 Elfogadva 3/3 3ms 3516 KiB
13 Elfogadva 4/4 3ms 3784 KiB
14 Elfogadva 4/4 3ms 3772 KiB
15 Időlimit túllépés 0/2 400ms 4180 KiB
16 Elfogadva 2/2 28ms 6696 KiB
17 Időlimit túllépés 0/2 375ms 4196 KiB
18 Elfogadva 2/2 37ms 7252 KiB