166662025-05-08 11:30:05ercseferencBányász RPG (40 pont)cpp17Hibás válasz 33/40400ms3512 KiB
#include <bits/stdc++.h>
using namespace std;
struct erc{int ido,ar,ind;};
bool has1(erc n, erc m){
    return n.ido<m.ido;}
bool has2(erc n, erc m){
    return n.ar>m.ar;}
int main()
{
    long long n,coun=0; cin>>n;
    vector<erc>a(n),b(n),c(n);
    for(int i=0; i<n; i++){cin>>a[i].ido; a[i].ind=i;}
    for(int i=0; i<n; i++){cin>>a[i].ar; coun+=a[i].ar;}
    b=a; c=a;
    sort(a.begin(),a.end(),has1);
    sort(b.begin(),b.end(),has2);
    long long xp=0,ido=0; int aszam=0,bszam=0;
    while(aszam<n-1){
        while(c[a[aszam].ind].ar==0){aszam++;}
        int t=xp;
        for(int i=t; i<a[aszam].ido; i++){
            if(c[b[bszam].ind].ar==0)bszam++;
            xp++; ido+=2; c[b[bszam].ind].ar--;}
        while(c[a[aszam].ind].ar>0){
            xp++; ido++; c[a[aszam].ind].ar--;}}
    cout<<ido;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base33/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/014ms1016 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/22ms316 KiB
5Elfogadva2/210ms864 KiB
6Elfogadva2/224ms1500 KiB
7Elfogadva2/23ms316 KiB
8Elfogadva2/24ms564 KiB
9Hibás válasz0/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva3/31ms316 KiB
13Elfogadva4/41ms420 KiB
14Elfogadva4/41ms316 KiB
15Időlimit túllépés0/2400ms2100 KiB
16Elfogadva2/261ms2780 KiB
17Időlimit túllépés0/2400ms2104 KiB
18Elfogadva2/279ms3512 KiB