173182025-06-23 13:20:29akososkaBányász RPG (40 pont)cpp17Elfogadva 40/4018ms860 KiB
#include <bits/stdc++.h>

using namespace std;
int a[100001],n,b[100001],elso,utolso,l;
long long s,xp;

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++){
        cin>>l;
        b[a[i]]=b[a[i]]+l;
    }
    elso=1;
    utolso=100000;
    while(elso<=utolso){
        if(b[elso]==0)elso++;
        else if(elso<=xp){
            s=s+b[elso];
            xp=xp+b[elso];
            elso++;
        }
        else if(b[utolso]==0)utolso--;
        else if(b[utolso]<=elso-xp){
            s=s+2*b[utolso];
            xp=xp+b[utolso];
            utolso--;
        }
        else{
            int q=elso-xp;
            b[utolso]=b[utolso]-q;
            s=s+2*q;
            xp=xp+q;
        }
    }
    cout<<s;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/01ms508 KiB
2Elfogadva0/04ms572 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/24ms484 KiB
6Elfogadva2/27ms448 KiB
7Elfogadva2/22ms452 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva3/31ms500 KiB
10Elfogadva3/31ms500 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva3/31ms316 KiB
13Elfogadva4/42ms432 KiB
14Elfogadva4/41ms564 KiB
15Elfogadva2/212ms564 KiB
16Elfogadva2/214ms564 KiB
17Elfogadva2/213ms564 KiB
18Elfogadva2/218ms860 KiB