242982026-02-08 14:57:09Pedri26Bányász RPG (40 pont)cpp17Wrong answer 36/4028ms820 KiB
#include <bits/stdc++.h>

using namespace std;
int n, a[100001], b[100001], xp, ido;


int main() {
	
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    for(int i=1;i<=n;i++)
    {
        int l;
        cin>>l;
        b[a[i]]+=l;
    }
    int elso=1, utolso=100000;
    sort(a+1, a+n+1);
    while(elso<=utolso)
    {
        if(b[elso]==0)elso++;
        else 
        {
            if(elso<=xp)
            {
                ido+=b[elso];
                xp+=b[elso];
                b[elso]=0;
                //cout<<ido<<" "<<elso<<" "<<xp<<endl;
            }
            else
            {
                if(b[utolso]==0)utolso--;
                else 
                {
                    ido+=2*(elso-xp);
                    b[utolso]-=elso-xp;
                    xp+=elso-xp;
                    //cout<<ido<<" "<<utolso<<" "<<xp<<endl;
                }
            }
        }
    }
    cout<<ido;

    
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base36/40
1Accepted0/02ms316 KiB
2Accepted0/07ms564 KiB
3Accepted2/22ms316 KiB
4Accepted2/22ms316 KiB
5Accepted2/24ms488 KiB
6Accepted2/28ms556 KiB
7Accepted2/22ms436 KiB
8Accepted2/22ms392 KiB
9Accepted3/31ms316 KiB
10Accepted3/31ms316 KiB
11Accepted3/31ms316 KiB
12Accepted3/31ms316 KiB
13Accepted4/42ms564 KiB
14Accepted4/41ms564 KiB
15Wrong answer0/217ms568 KiB
16Accepted2/221ms812 KiB
17Wrong answer0/217ms764 KiB
18Accepted2/228ms820 KiB