9448 | 2024. 02. 21 20:41:35 | Vkrisztian01 | Bányász RPG (40 pont) | cpp11 | Hibás válasz 36/40 | 68ms | 4532 KiB |
#include <iostream>
#include<vector>
#include<set>
#include<algorithm>
using namespace std;
int n,k;
int ido=0,pont=0;
vector<pair<int,int> > lista;
int main()
{
cin>>n;
lista.resize(n);
for(int i=0;i<n;i++) cin>>lista[i].first;
for(int i=0;i<n;i++) cin>>lista[i].second;
sort(lista.begin(),lista.end());
int eleje=0,vege=n-1;
while(eleje<=vege)
{
while(vege>=eleje && pont<lista[eleje].first)
{
k=max(0,min(lista[eleje].first-pont,lista[vege].second));
//cout<<k;
ido+=2*k;
pont+=k;
lista[vege].second-=k;
if(lista[vege].second==0) --vege;
}
ido+=lista[eleje].second;
pont+=lista[eleje].second;
++eleje;
}
cout<<ido;
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 36/40 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1876 KiB | |||
2 | Elfogadva | 0/0 | 14ms | 2320 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2552 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2512 KiB | |||
5 | Elfogadva | 2/2 | 12ms | 2952 KiB | |||
6 | Elfogadva | 2/2 | 23ms | 3316 KiB | |||
7 | Elfogadva | 2/2 | 4ms | 2884 KiB | |||
8 | Elfogadva | 2/2 | 6ms | 2988 KiB | |||
9 | Elfogadva | 3/3 | 2ms | 3080 KiB | |||
10 | Elfogadva | 3/3 | 3ms | 3224 KiB | |||
11 | Elfogadva | 3/3 | 3ms | 3248 KiB | |||
12 | Elfogadva | 3/3 | 3ms | 3332 KiB | |||
13 | Elfogadva | 4/4 | 3ms | 3356 KiB | |||
14 | Elfogadva | 4/4 | 3ms | 3332 KiB | |||
15 | Hibás válasz | 0/2 | 39ms | 4008 KiB | |||
16 | Elfogadva | 2/2 | 52ms | 4140 KiB | |||
17 | Hibás válasz | 0/2 | 43ms | 4012 KiB | |||
18 | Elfogadva | 2/2 | 68ms | 4532 KiB |