9286 | 2024. 02. 19 19:43:15 | anti | Bányász RPG (40 pont) | cpp17 | Hibás válasz 29/40 | 381ms | 6392 KiB |
#include <iostream>
#include <algorithm>
using namespace std;
struct alapanyag{
int l, m;
int ido = 2;
bool kesz = false;
};
bool kisebb(alapanyag A1, alapanyag A2){
return A1.l < A2.l;
}
int main()
{
int n;
cin >> n;
alapanyag A[n];
for(int i=0; i<n; i++){
cin >> A[i].l;
}
for(int i=0; i<n; i++){
cin >> A[i].m;
}
sort(A, A+n, kisebb);
/*
cout << endl;
for(int i=0; i<n; i++){
cout << A[i].l << " ";
}
cout << endl;
for(int i=0; i<n; i++){
cout << A[i].m << " ";
}
cout << endl << endl;
*/
int t=0;
int h=0, k=n-1;
int c, xp = 0;
while(h!=k){
c = A[h].l;
while(A[k].m - c < 0){
c -= A[k].m;
t += 2 * A[k].m;
xp = A[k].m;
k--;
}
A[k].m -= c;
t += 2 * c;
xp += c;
while(xp >= A[h].l && h<=k){
t += A[h].m;
xp += A[h].m;
h++;
}
h--;
}
//cout << xp << endl;
cout << t << endl;
}
/*
5
2 3 5 6 7
4 2 2 6 5
*/
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 29/40 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1748 KiB | |||
2 | Elfogadva | 0/0 | 14ms | 2404 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2124 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2344 KiB | |||
5 | Elfogadva | 2/2 | 10ms | 3000 KiB | |||
6 | Elfogadva | 2/2 | 21ms | 3748 KiB | |||
7 | Elfogadva | 2/2 | 4ms | 2892 KiB | |||
8 | Elfogadva | 2/2 | 6ms | 2980 KiB | |||
9 | Hibás válasz | 0/3 | 3ms | 3036 KiB | |||
10 | Elfogadva | 3/3 | 3ms | 3056 KiB | |||
11 | Elfogadva | 3/3 | 3ms | 3188 KiB | |||
12 | Elfogadva | 3/3 | 3ms | 3272 KiB | |||
13 | Elfogadva | 4/4 | 3ms | 3404 KiB | |||
14 | Elfogadva | 4/4 | 3ms | 3608 KiB | |||
15 | Hibás válasz | 0/2 | 39ms | 5236 KiB | |||
16 | Időlimit túllépés | 0/2 | 377ms | 6092 KiB | |||
17 | Hibás válasz | 0/2 | 43ms | 5532 KiB | |||
18 | Időlimit túllépés | 0/2 | 381ms | 6392 KiB |