9163 | 2024. 02. 16 17:30:46 | UVince | Bányász RPG (40 pont) | cpp17 | Elfogadva 40/40 | 32ms | 6140 KiB |
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
ll n;
cin >> n;
vector<pair<ll, ll>> v(n);
ll sum = 0;
for (int i = 0; i < n; i++)
{
cin >> v[i].first;
}
for (int i = 0; i < n; i++)
{
cin >> v[i].second;
sum += v[i].second;
}
sort(v.begin(), v.end());
ll l = 0, r = n - 1, tap = 0, t = 0;
while (tap < sum)
{
if (tap >= v[l].first)
{
t += v[l].second;
tap += v[l].second;
l++;
}
else
{
while (v[l].first > tap)
{
int add = min(v[r].second, v[l].first - tap);
tap += add;
v[r].second -= add;
t += add * 2;
if (v[r].second == 0)
r--;
}
}
}
cout << t;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 40/40 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1824 KiB | |||
2 | Elfogadva | 0/0 | 8ms | 2316 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2236 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2344 KiB | |||
5 | Elfogadva | 2/2 | 7ms | 2848 KiB | |||
6 | Elfogadva | 2/2 | 13ms | 3728 KiB | |||
7 | Elfogadva | 2/2 | 4ms | 3084 KiB | |||
8 | Elfogadva | 2/2 | 4ms | 3344 KiB | |||
9 | Elfogadva | 3/3 | 3ms | 3400 KiB | |||
10 | Elfogadva | 3/3 | 2ms | 3388 KiB | |||
11 | Elfogadva | 3/3 | 2ms | 3268 KiB | |||
12 | Elfogadva | 3/3 | 3ms | 3276 KiB | |||
13 | Elfogadva | 4/4 | 3ms | 3548 KiB | |||
14 | Elfogadva | 4/4 | 3ms | 3488 KiB | |||
15 | Elfogadva | 2/2 | 19ms | 4824 KiB | |||
16 | Elfogadva | 2/2 | 26ms | 5496 KiB | |||
17 | Elfogadva | 2/2 | 21ms | 5036 KiB | |||
18 | Elfogadva | 2/2 | 32ms | 6140 KiB |