94172024-02-21 14:29:13AblablablaBányász RPG (40 pont)cpp17Hibás válasz 36/4068ms5288 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ÖsszpontTesztVerdiktIdőMemória
base36/40
1Elfogadva0/03ms1812 KiB
2Elfogadva0/014ms2304 KiB
3Elfogadva2/23ms2264 KiB
4Elfogadva2/23ms2480 KiB
5Elfogadva2/212ms2920 KiB
6Elfogadva2/223ms3280 KiB
7Elfogadva2/24ms3084 KiB
8Elfogadva2/26ms3180 KiB
9Elfogadva3/33ms3148 KiB
10Elfogadva3/33ms3144 KiB
11Elfogadva3/33ms3268 KiB
12Elfogadva3/33ms3288 KiB
13Elfogadva4/43ms3492 KiB
14Elfogadva4/43ms3580 KiB
15Hibás válasz0/239ms4288 KiB
16Elfogadva2/252ms4544 KiB
17Hibás válasz0/243ms4512 KiB
18Elfogadva2/268ms5288 KiB