55122023-07-04 19:33:58AndrosGladiátorok (40 pont)cpp17Időlimit túllépés 30/40883ms13680 KiB
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#define ll long long
using namespace std;

//Magyarazattal

int main()
{

	//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];
	}

	string out = "";

	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;
			}
		}
		if (mego == -1) {
			out += to_string(szendb);
		}
		else {
			out+=to_string(mego);
		}
		out += " ";
	}
	cout << out;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base30/40
1Elfogadva0/03ms1680 KiB
2Elfogadva0/028ms4448 KiB
3Elfogadva2/23ms2096 KiB
4Elfogadva2/23ms2188 KiB
5Elfogadva2/26ms2624 KiB
6Elfogadva2/26ms2836 KiB
7Elfogadva2/24ms2948 KiB
8Elfogadva2/26ms3172 KiB
9Elfogadva2/26ms3400 KiB
10Elfogadva2/26ms3492 KiB
11Elfogadva2/228ms4672 KiB
12Elfogadva2/2135ms10944 KiB
13Elfogadva2/2118ms9336 KiB
14Elfogadva2/2637ms13596 KiB
15Elfogadva2/2643ms13680 KiB
16Elfogadva2/2652ms13652 KiB
17Elfogadva2/2643ms13612 KiB
18Időlimit túllépés0/2883ms7136 KiB
19Időlimit túllépés0/2870ms7256 KiB
20Időlimit túllépés0/2870ms7312 KiB
21Időlimit túllépés0/2857ms7608 KiB
22Időlimit túllépés0/2861ms7540 KiB