5517 2023. 07. 04 19:49:28 Andros Gladiátorok (40 pont) cpp17 Időlimit túllépés 30/40 882ms 11548 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#define ll long long
using namespace std;

//Magyarazattal

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	//Hiba=>Mindenhol long long
	ll szendb, caedb;
	cin >> szendb >> caedb;
	//Beolvasas, a szenatorok parokba lesznek beolvasva.
	vector<pair<ll, ll>> szenator(szendb);
	for (ll i = 0; i < szendb; i++)
	{
		cin >> szenator[i].first >> szenator[i].second;
	}

	vector<ll> caesar(caedb);

	for (ll i = 0; i < caedb; i++)
	{
		cin >> caesar[i];
	}

	//A szortirozas az elso par szerll szortiroz.
	//A legjobb ha a leggyengebbek lesznek elol.
	sort(szenator.begin(), szenator.end());

	vector<ll> hozott_ero(szendb);//az ero, amit az eddig legyozott gladiatorokbol szerzunk.
	ll sum = 0;
	for (ll i = 0; i < szendb; i++)
	{
		hozott_ero[i] = sum;
		sum += szenator[i].second;
	}

	vector<ll> kello_ero(szendb);//Az ero ami az elejetol kell, hogy legyozzuk
	for (ll i = 0; i < szendb; i++)
	{
		kello_ero[i] = szenator[i].first - hozott_ero[i];
	}

	for (ll glad : caesar)
	{
		ll mego = -1;
		for (int i = 0; i < szendb; i++)
		{
			//Az elso olyan, ami nagyobb nala, ott veszit.
			//Kiirjuk meddig jutott.
			if (glad < kello_ero[i]) {
				mego = i;
				break;
			}
		}
		cout << (mego + 1 ? mego : szendb) << " ";
	}
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 30/40
1 Elfogadva 0/0 3ms 1696 KiB
2 Elfogadva 0/0 14ms 3864 KiB
3 Elfogadva 2/2 3ms 2104 KiB
4 Elfogadva 2/2 3ms 2176 KiB
5 Elfogadva 2/2 4ms 2540 KiB
6 Elfogadva 2/2 4ms 2752 KiB
7 Elfogadva 2/2 4ms 2960 KiB
8 Elfogadva 2/2 4ms 3176 KiB
9 Elfogadva 2/2 4ms 3260 KiB
10 Elfogadva 2/2 4ms 3260 KiB
11 Elfogadva 2/2 16ms 4344 KiB
12 Elfogadva 2/2 72ms 10272 KiB
13 Elfogadva 2/2 67ms 7772 KiB
14 Elfogadva 2/2 554ms 11116 KiB
15 Elfogadva 2/2 556ms 11388 KiB
16 Elfogadva 2/2 568ms 11384 KiB
17 Elfogadva 2/2 560ms 11548 KiB
18 Időlimit túllépés 0/2 855ms 7212 KiB
19 Időlimit túllépés 0/2 870ms 7348 KiB
20 Időlimit túllépés 0/2 882ms 7348 KiB
21 Időlimit túllépés 0/2 879ms 7352 KiB
22 Időlimit túllépés 0/2 865ms 7356 KiB