151452025-02-13 19:39:32iSamu7598Bányász RPG (40 pont)cpp11Hibás válasz 36/4057ms1096 KiB
#include <iostream>
#include <vector>
#include <queue>
using namespace std;

int main()
{
int n, ossz=0, tp, time=0;
cin>>n;
vector<int> l(n+1);
vector<int> m(n+1);
for(int i=1; i<=n; i++){
   cin>>l[i];
}
for(int i=1; i<=n; i++){
    cin>>m[i];
    ossz=ossz+m[i];
}
for(int tp=0; tp<ossz; tp=tp){
    bool x=false;
        int maxi=0, si, mini=200000, simin;
    for(int i=1; i<=n; i++){
            if(maxi<l[i]&&m[i]>0){
        maxi=l[i];
        si=i;
            }
            if(mini>l[i]&&m[i]>0){
                mini=l[i];
                simin=i;
            }

if(tp>=l[i]&&m[i]>0){
       tp=tp+m[i];
    time+=m[i];
x=true;
    m[i]=0;

}
    }
    if(x==false){
        int seg=mini-tp;
        if(m[si]<=seg){

            tp=tp+m[si];
            time+=2*m[si];
            m[si]=0;
                    }
        else{

            tp=tp+seg;
            time=time+2*seg;
            m[si]=m[si]-seg;
        }
    }
}
cout<<time;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base36/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/010ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/28ms496 KiB
6Elfogadva2/217ms636 KiB
7Elfogadva2/23ms424 KiB
8Elfogadva2/24ms508 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms508 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva3/31ms316 KiB
13Elfogadva4/41ms316 KiB
14Elfogadva4/41ms316 KiB
15Hibás válasz0/232ms728 KiB
16Elfogadva2/243ms940 KiB
17Hibás válasz0/235ms848 KiB
18Elfogadva2/257ms1096 KiB