237742026-01-29 09:33:34tamasnagyBányász RPG (40 pont)cpp17Hibás válasz 0/40204ms2124 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){
        cout<<mini<<' '<<maxi<<endl;
        if(xp<matyi[mini].xp){
            if(matyi[maxi].db>0){
                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;
                }
                else{

                    time+=2*(matyi[maxi].db);
                    xp += matyi[maxi].db;
                    matyi[maxi].db=0;
                }
            }
            else{
                maxi--;
            }
        }
        else if(xp>=matyi[mini].xp){
            time+=matyi[mini].db;
            xp+=matyi[mini].db;
            matyi[mini].db=0;
            mini++;
        }

    }
    cout<<time;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/40
1Hibás válasz0/01ms508 KiB
2Hibás válasz0/037ms564 KiB
3Hibás válasz0/21ms316 KiB
4Hibás válasz0/22ms492 KiB
5Hibás válasz0/230ms568 KiB
6Hibás válasz0/264ms916 KiB
7Hibás válasz0/28ms316 KiB
8Hibás válasz0/212ms484 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/31ms316 KiB
11Hibás válasz0/31ms316 KiB
12Hibás válasz0/32ms316 KiB
13Hibás válasz0/43ms316 KiB
14Hibás válasz0/42ms316 KiB
15Hibás válasz0/2122ms1312 KiB
16Hibás válasz0/2158ms1704 KiB
17Hibás válasz0/2130ms1432 KiB
18Hibás válasz0/2204ms2124 KiB