243872026-02-10 20:31:48KristófBányász RPG (40 pont)cpp17Elfogadva 40/4067ms1588 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

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

    vector<pair<long long,long long>> a(n);
    for(auto &x:a)cin>>x.first;
    for(auto &x:a)cin>>x.second;
    sort(a.begin(),a.end());
    int endi=n-1;
    int i=0;
    long long ans=0;
    long long level=0;
    while(i<=endi)
        {
        if(a[i].first<=level)
            {
            ans+=a[i].second;
            level+=a[i].second;

            i++;
            }
        else
            {
            int modosit=min(a[i].first-level,a[endi].second);
            ans+=modosit*2;
            level+=modosit;
            a[endi].second-=modosit;


            if(a[endi].second==0)
                endi--;
            }

        }
    cout<<ans;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/01ms508 KiB
2Elfogadva0/012ms756 KiB
3Elfogadva2/21ms328 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/29ms616 KiB
6Elfogadva2/221ms896 KiB
7Elfogadva2/23ms452 KiB
8Elfogadva2/24ms468 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva3/31ms316 KiB
13Elfogadva4/41ms316 KiB
14Elfogadva4/41ms384 KiB
15Elfogadva2/239ms1012 KiB
16Elfogadva2/250ms1460 KiB
17Elfogadva2/241ms1264 KiB
18Elfogadva2/267ms1588 KiB