223042026-01-14 21:02:54szasztundeBányász RPG (40 pont)cpp17Time limit exceeded 36/40400ms1144 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;
struct par
{
    int tap,menny;
};
bool hasonlit(par x,par y){
        return x.tap<y.tap;
}
int main()
{
    int n;
	cin>>n;
	vector <par> a(n);
	for(int i=0;i<n;i++) cin>>a[i].tap;
	for(int i=0;i<n;i++) cin>>a[i].menny;
	sort(a.begin(),a.end(),hasonlit);
	//for(int i=0;i<n;i++) cout<<a[i].tap<<" "<<a[i].menny<<endl;
	int i=0,j=n-1,perc=0,tapp=0;
	while(i<=j)
    {
        while(a[i].tap<=tapp && i<=j)
        {
            perc+=a[i].menny;
            tapp+=a[i].menny;
            i++;
        }
        if(i<=j)
        while(a[i].tap>tapp)
        {
            if(a[j].tap<=tapp)
            {
                perc+=a[j].menny;
                tapp+=a[j].menny;
                j--;
            }
            else
            {
                perc+=2;
                tapp++;
                a[j].menny--;
            }
        }
    }
    cout<<perc;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base36/40
1Accepted0/01ms316 KiB
2Accepted0/013ms512 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/28ms316 KiB
6Accepted2/218ms716 KiB
7Accepted2/23ms324 KiB
8Accepted2/24ms316 KiB
9Accepted3/31ms316 KiB
10Accepted3/31ms500 KiB
11Accepted3/31ms316 KiB
12Accepted3/31ms316 KiB
13Accepted4/42ms316 KiB
14Accepted4/41ms504 KiB
15Time limit exceeded0/2400ms756 KiB
16Accepted2/250ms1036 KiB
17Time limit exceeded0/2400ms1012 KiB
18Accepted2/264ms1144 KiB