155232025-02-20 10:41:39antiBányász RPG (40 pont)cpp17Időlimit túllépés 26/40400ms844 KiB
#include <iostream>
#include <algorithm>
#include <fstream>

using namespace std;

struct alapanyag{
    int l, m;
};

bool kisebb(alapanyag A1, alapanyag A2){
    return A1.l < A2.l;
}

int main()
{
    //ifstream cin("be2.txt");
    int n;
    cin >> n;
    alapanyag A[n];
    for(int i=0; i<n; i++){
        cin >> A[i].l;
    }
    for(int i=0; i<n; i++){
        cin >> A[i].m;
    }
    sort(A, A+n, kisebb);
    int bal=0, jobb=n-1;
    long long xp = 0, meg = 0;
    while(bal<=jobb){
        if(xp >= A[bal].l){
            xp++;
            A[bal].m--;
            meg += 1;
            if(A[bal].m == 0){
                bal++;
            }
        }
        else{
            xp++;
            A[jobb].m--;
            meg += 2;
            if(A[jobb].m == 0){
                jobb--;
            }
        }
    }
    cout << meg;
}

/*
5
2 3 5 6 7
4 2 2 6 5
*/
RészfeladatÖsszpontTesztVerdiktIdőMemória
base26/40
1Elfogadva0/01ms316 KiB
2Időlimit túllépés0/0391ms508 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/23ms320 KiB
5Időlimit túllépés0/2400ms492 KiB
6Időlimit túllépés0/2400ms628 KiB
7Elfogadva2/210ms424 KiB
8Időlimit túllépés0/2377ms432 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/32ms316 KiB
12Elfogadva3/310ms316 KiB
13Elfogadva4/459ms392 KiB
14Elfogadva4/434ms316 KiB
15Időlimit túllépés0/2400ms720 KiB
16Időlimit túllépés0/2400ms844 KiB
17Időlimit túllépés0/2386ms772 KiB
18Időlimit túllépés0/2400ms820 KiB