9418 2024. 02. 21 14:29:53 Ablablabla Bányász RPG (40 pont) cpp17 Elfogadva 40/40 71ms 6440 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

typedef pair<ll, ll> pii;

int main()
{
    ll n;
    cin >> n;

    /*vector<ll> minimum(n);
    for(ll &x : minimum){
        cin >> x;
    }

    vector<ll> muszaj(n);
    for(ll &x : muszaj){
        cin >> x;
    }*/

    vector<pii> anyagok(n);
    for(ll i = 0; i < n; i++){
        cin >> anyagok[i].first;
    }

    for(ll i = 0; i < n; i++){
        cin >> anyagok[i].second;
    }

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

    ll valasz = 0;
    ll mar = 0;
    ll bal = 0, jobb = n - 1;

    while(bal <= jobb){
        while(bal <= jobb && anyagok[bal].first > mar){
            //cout << bal << " " << jobb << " : " << mar << "\n";
            if(anyagok[bal].first <= mar + anyagok[jobb].second){
                valasz += (anyagok[bal].first - mar) * 2;
                //cout << "0 " << (anyagok[bal].first - mar) * 2 << "\n";
                anyagok[jobb].second -= (anyagok[bal].first - mar);
                mar += anyagok[bal].first - mar;
            } else{
                mar += anyagok[jobb].second;
                valasz += anyagok[jobb].second * 2;
                //cout << "1 " << anyagok[jobb].second * 2 << "\n";
                anyagok[jobb].second = 0;
                jobb--;
            }
        }


        valasz += anyagok[bal].second;
        mar += anyagok[bal].second;
        //cout << anyagok[bal].second << "\n";
        anyagok[bal].second = 0;
        bal++;
    }

    cout << valasz << "\n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 14ms 2516 KiB
3 Elfogadva 2/2 3ms 2276 KiB
4 Elfogadva 2/2 3ms 2376 KiB
5 Elfogadva 2/2 13ms 3000 KiB
6 Elfogadva 2/2 25ms 3676 KiB
7 Elfogadva 2/2 4ms 3236 KiB
8 Elfogadva 2/2 6ms 3112 KiB
9 Elfogadva 3/3 3ms 3020 KiB
10 Elfogadva 3/3 3ms 3200 KiB
11 Elfogadva 3/3 3ms 3412 KiB
12 Elfogadva 3/3 3ms 3504 KiB
13 Elfogadva 4/4 3ms 3624 KiB
14 Elfogadva 4/4 3ms 3552 KiB
15 Elfogadva 2/2 41ms 5028 KiB
16 Elfogadva 2/2 56ms 5904 KiB
17 Elfogadva 2/2 46ms 5476 KiB
18 Elfogadva 2/2 71ms 6440 KiB