55172023-07-04 19:49:28AndrosGladiátorok (40 pont)cpp17Time limit exceeded 30/40882ms11548 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) << " ";
	}
}
SubtaskSumTestVerdictTimeMemory
base30/40
1Accepted0/03ms1696 KiB
2Accepted0/014ms3864 KiB
3Accepted2/23ms2104 KiB
4Accepted2/23ms2176 KiB
5Accepted2/24ms2540 KiB
6Accepted2/24ms2752 KiB
7Accepted2/24ms2960 KiB
8Accepted2/24ms3176 KiB
9Accepted2/24ms3260 KiB
10Accepted2/24ms3260 KiB
11Accepted2/216ms4344 KiB
12Accepted2/272ms10272 KiB
13Accepted2/267ms7772 KiB
14Accepted2/2554ms11116 KiB
15Accepted2/2556ms11388 KiB
16Accepted2/2568ms11384 KiB
17Accepted2/2560ms11548 KiB
18Time limit exceeded0/2855ms7212 KiB
19Time limit exceeded0/2870ms7348 KiB
20Time limit exceeded0/2882ms7348 KiB
21Time limit exceeded0/2879ms7352 KiB
22Time limit exceeded0/2865ms7356 KiB