238092026-01-30 08:05:15tamasnagyBányász RPG (40 pont)cpp17Wrong answer 36/4064ms1100 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct gyuri{
    int xp;
    int db;
};
vector<gyuri>matyi;
bool cmp(gyuri a, gyuri b){
    return a.xp<b.xp;
}

int main()
{
    int n,time=0,xp=0;
    cin>>n;
    matyi.resize(n);
    for(int i=0; i<n; i++){
        cin>>matyi[i].xp;
    }
    for(int i=0; i<n; i++){
        cin>>matyi[i].db;
    }
    sort(matyi.begin(), matyi.end(), cmp);
    int mini=0, maxi=n-1;
    while(mini<=maxi){
        if(xp<matyi[mini].xp){
            if(matyi[maxi].db>matyi[mini].xp - xp){
                matyi[maxi].db-=(matyi[mini].xp-xp);
                time+=2*(matyi[mini].xp - xp);
                xp += (matyi[mini].xp - xp);
            }
            else{
                time+=2*(matyi[maxi].db);
                xp += matyi[maxi].db;
                matyi[maxi].db=0;
                maxi--;
            }
        }
        else if(xp>=matyi[mini].xp){
            time+=matyi[mini].db;
            xp+=matyi[mini].db;
            matyi[mini].db=0;
            mini++;
        }

    }
    cout<<time;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base36/40
1Accepted0/01ms316 KiB
2Accepted0/012ms500 KiB
3Accepted2/21ms508 KiB
4Accepted2/21ms316 KiB
5Accepted2/28ms500 KiB
6Accepted2/218ms656 KiB
7Accepted2/23ms316 KiB
8Accepted2/24ms316 KiB
9Accepted3/31ms316 KiB
10Accepted3/31ms316 KiB
11Accepted3/31ms316 KiB
12Accepted3/31ms316 KiB
13Accepted4/41ms316 KiB
14Accepted4/41ms508 KiB
15Wrong answer0/237ms564 KiB
16Accepted2/248ms932 KiB
17Wrong answer0/241ms820 KiB
18Accepted2/264ms1100 KiB