5416 2023. 05. 16 10:22:25 TortelliniJr Bányász RPG (40 pont) cpp17 Elfogadva 40/40 32ms 5336 KiB
#include <stdio.h>
#include <iostream>
#include <vector>
#include <array>
#include <algorithm>
using namespace std;
typedef long long ll;
int main()
{
	cin.tie(0), cin.sync_with_stdio(0);
	int n;
	cin >> n;
	vector<array<int, 2>> v(n);
	for (int i = 0; i < n; i++)
	{
		cin >> v[i][0];
	}
	for (int i = 0; i < n; i++)
	{
		cin >> v[i][1];
	}
	sort(v.begin(), v.end());
	int l = 0, r = n - 1;
	ll xp = 0;
	ll time = 0;
	while (l <= r) {
		if (v[l][0] <= xp) {
			time += v[l][1];
			xp += v[l][1];
			v[l][1] = 0;
			l++;
		}
		else {
			time += 2;
			xp++;
			v[r][1]--;
			if (v[r][1] == 0)
				r--;
		}
	}
	cout << time;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1700 KiB
2 Elfogadva 0/0 8ms 2176 KiB
3 Elfogadva 2/2 3ms 2140 KiB
4 Elfogadva 2/2 3ms 2356 KiB
5 Elfogadva 2/2 7ms 2792 KiB
6 Elfogadva 2/2 12ms 3388 KiB
7 Elfogadva 2/2 3ms 2948 KiB
8 Elfogadva 2/2 4ms 3028 KiB
9 Elfogadva 3/3 2ms 2888 KiB
10 Elfogadva 3/3 3ms 3020 KiB
11 Elfogadva 3/3 3ms 3248 KiB
12 Elfogadva 3/3 3ms 3484 KiB
13 Elfogadva 4/4 3ms 3696 KiB
14 Elfogadva 4/4 3ms 3848 KiB
15 Elfogadva 2/2 18ms 4732 KiB
16 Elfogadva 2/2 24ms 4944 KiB
17 Elfogadva 2/2 20ms 4820 KiB
18 Elfogadva 2/2 32ms 5336 KiB