240132026-02-03 17:41:37algoproBányász RPG (40 pont)cpp17Időlimit túllépés 36/40400ms1076 KiB
// UUID: fc573232-4384-422b-b4ef-76219f6a5637
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

int main() {
	ios::sync_with_stdio(false);
    cin.tie(0);

    int n; cin >>n;

    vector<pair<int, int>>anyag(n);

    for (int i = 0; i < n; i++){
        cin >>anyag[i].first;
    }
    for (int i = 0; i < n; i++){
        cin >>anyag[i].second;
    }

    sort(anyag.begin(), anyag.end());

    int tp = 0;
    ll ido = 0;

    int b = 0, j = n-1; 
    while (b <= j){
        if (tp >= anyag[b].first){
            ido+=anyag[b].second;
            tp+=anyag[b].second;
            anyag[b].second = 0;
            b++;
        }
        else{
            anyag[j].second--;
            ido += 2;
            tp++;
            if (anyag[j].second == 0) j--;
        }
        

        //cout <<ido<<'\n';
    }

    cout << ido;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base36/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/06ms316 KiB
3Elfogadva2/21ms508 KiB
4Elfogadva2/21ms320 KiB
5Elfogadva2/24ms316 KiB
6Elfogadva2/210ms564 KiB
7Elfogadva2/22ms316 KiB
8Elfogadva2/23ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva3/31ms428 KiB
13Elfogadva4/41ms500 KiB
14Elfogadva4/41ms316 KiB
15Időlimit túllépés0/2398ms820 KiB
16Elfogadva2/224ms820 KiB
17Időlimit túllépés0/2400ms696 KiB
18Elfogadva2/230ms1076 KiB