149022025-02-06 17:28:39vargaviviBányász RPG (40 pont)cpp14Időlimit túllépés 26/40400ms1076 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    int ido = 0;
    cin >> n;
    vector<pair<int, int>> v(n);
    for (int i = 0; i < n; i ++) {
        cin >> v[i].first;
    }
    int kellmeg = 0;
    for (int i = 0; i < n; i ++) {
        cin >> v[i].second;
        kellmeg += v[i].second;
    }
    sort(v.begin(), v.end());
    int exp = 0;
    int pici = 0;
    int nagy = n - 1;
    while (kellmeg != 0) {
        if (exp >= v[pici].first) {
            v[pici].second -= 1;
            ido += 1;
            exp += 1;
            kellmeg -= 1;
            if (v[pici].second == 0) pici += 1;
        } else {
            v[nagy].second -= 1;
            ido += 2;
            exp += 1;
            kellmeg -= 1;
            if (v[nagy].second == 0) nagy -= 1;
        }
    }
    cout << ido;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base26/40
1Elfogadva0/01ms500 KiB
2Időlimit túllépés0/0381ms316 KiB
3Elfogadva2/21ms508 KiB
4Elfogadva2/24ms316 KiB
5Időlimit túllépés0/2400ms316 KiB
6Időlimit túllépés0/2400ms564 KiB
7Elfogadva2/212ms420 KiB
8Időlimit túllépés0/2381ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/32ms316 KiB
12Elfogadva3/313ms404 KiB
13Elfogadva4/471ms316 KiB
14Elfogadva4/441ms404 KiB
15Időlimit túllépés0/2400ms564 KiB
16Időlimit túllépés0/2400ms820 KiB
17Időlimit túllépés0/2384ms1012 KiB
18Időlimit túllépés0/2379ms1076 KiB