173172025-06-23 13:18:07akososkaBányász RPG (40 pont)cpp17Accepted 40/4056ms864 KiB
#include <bits/stdc++.h>

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

int main()
{
    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;
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms508 KiB
2Accepted0/010ms564 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms500 KiB
5Accepted2/28ms316 KiB
6Accepted2/217ms484 KiB
7Accepted2/23ms424 KiB
8Accepted2/24ms316 KiB
9Accepted3/31ms316 KiB
10Accepted3/31ms316 KiB
11Accepted3/31ms508 KiB
12Accepted3/31ms316 KiB
13Accepted4/42ms372 KiB
14Accepted4/41ms512 KiB
15Accepted2/232ms744 KiB
16Accepted2/241ms564 KiB
17Accepted2/234ms568 KiB
18Accepted2/256ms864 KiB