173152025-06-23 13:06:01akososkaBányász RPG (40 pont)cpp17Hibás válasz 0/4054ms1588 KiB
#include <bits/stdc++.h>

using namespace std;
int a[100001],n,b[100001],elso,utolso;
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>>b[a[i]];
    }
    elso=1;
    utolso=100001;
    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
base0/40
1Hibás válasz0/01ms500 KiB
2Hibás válasz0/010ms564 KiB
3Hibás válasz0/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Hibás válasz0/28ms592 KiB
6Hibás válasz0/217ms820 KiB
7Hibás válasz0/23ms316 KiB
8Hibás válasz0/24ms316 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/31ms316 KiB
11Hibás válasz0/31ms412 KiB
12Hibás válasz0/31ms656 KiB
13Hibás válasz0/42ms316 KiB
14Hibás válasz0/42ms544 KiB
15Hibás válasz0/232ms1148 KiB
16Hibás válasz0/241ms1332 KiB
17Hibás válasz0/235ms1336 KiB
18Hibás válasz0/254ms1588 KiB