9417 2024. 02. 21 14:29:13 Ablablabla Bányász RPG (40 pont) cpp17 Hibás válasz 36/40 68ms 5288 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

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

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

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

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

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

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

    int valasz = 0;
    int mar = 0;
    int 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 36/40
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 14ms 2304 KiB
3 Elfogadva 2/2 3ms 2264 KiB
4 Elfogadva 2/2 3ms 2480 KiB
5 Elfogadva 2/2 12ms 2920 KiB
6 Elfogadva 2/2 23ms 3280 KiB
7 Elfogadva 2/2 4ms 3084 KiB
8 Elfogadva 2/2 6ms 3180 KiB
9 Elfogadva 3/3 3ms 3148 KiB
10 Elfogadva 3/3 3ms 3144 KiB
11 Elfogadva 3/3 3ms 3268 KiB
12 Elfogadva 3/3 3ms 3288 KiB
13 Elfogadva 4/4 3ms 3492 KiB
14 Elfogadva 4/4 3ms 3580 KiB
15 Hibás válasz 0/2 39ms 4288 KiB
16 Elfogadva 2/2 52ms 4544 KiB
17 Hibás válasz 0/2 43ms 4512 KiB
18 Elfogadva 2/2 68ms 5288 KiB