243862026-02-10 20:30:50KristófBányász RPG (40 pont)cpp17Wrong answer 36/4064ms1092 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
    int n;
    cin>>n;
    vector<pair<int,int>> 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;
    int ans=0;
    int 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;
}
SubtaskSumTestVerdictTimeMemory
base36/40
1Accepted0/01ms316 KiB
2Accepted0/012ms316 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/29ms316 KiB
6Accepted2/220ms744 KiB
7Accepted2/23ms508 KiB
8Accepted2/24ms500 KiB
9Accepted3/31ms324 KiB
10Accepted3/31ms508 KiB
11Accepted3/31ms508 KiB
12Accepted3/31ms316 KiB
13Accepted4/41ms316 KiB
14Accepted4/41ms316 KiB
15Wrong answer0/237ms796 KiB
16Accepted2/248ms932 KiB
17Wrong answer0/241ms820 KiB
18Accepted2/264ms1092 KiB