55052023-07-03 23:59:19AndrosKártyajátékcpp17Időlimit túllépés 11/30500ms5632 KiB
#include <iostream>
#include <vector>
#define ll long long

//Oktatas.hu-rol ujrairva
//Magyarazattal

using namespace std;

int main()
{

	ll n, k;
	cin >> n >> k;
	vector<ll> hand(k);//Osszes kartya

	//Beolvasas
	for (int i = 0; i < k; i++)
	{
		cin >> hand[i];
	}


	vector<ll> pontszerzok;
	//Ebbe lesznek belerakva a kartyak, amik szerezhettek pontot, de nem biztos hogy szerztek.
	//A hand tomb azon elemei lesznek benne a vegen, amik elott nem volt nagyobb kartya.
	//Pl 1 8 3 15 4 20 sorozat vegen a 20-as szerezhetne pontot, ha lenne ott egy 16-os
	vector<bool> pont(k);//Egy-egy kartya adott-e pontot

	for (ll card : hand) {
		bool van_e_nagyobb = false;
		int nagyobb_index = -1;

		for (int i = 0; i < pontszerzok.size(); i++)
		{
			if (card < pontszerzok[i]) {
				//Lementi az elso kartyat ami nagyobb nala a pontszerzok kozul.
				van_e_nagyobb = true;
				nagyobb_index = i;
				break;
			}
		}

		if (van_e_nagyobb) {
			//Volt egy masik kartya, ami nagyobb nala.
			//Ekkor a most nezett kartya egyertelmuen nem szerezhet pontot,
			//mert a nagyobb kivette elole az osszes nala kisebbet.
			//Az elso nala nagyobb kartya, ami benne van a pontszerzokben vette ki ot,
			//ezert az kap egy pontot
			pont[nagyobb_index] = true;
		}
		else {
			//Ha nincs nala nagyobb, akkor belerakjuk a pontszerzokbe,
			//mert szerezhet meg pontot.
			pontszerzok.push_back(card);
		}

	}
	//Osszeszamoljuk hogy mennyi kartya szerzett tenylegesen pontot.
	int sum = 0;
	for (bool b : pont) {
		if (b) sum += 1;
	}
	cout << sum;

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base11/30
1Elfogadva0/03ms1688 KiB
2Időlimit túllépés0/0500ms2460 KiB
3Elfogadva1/12ms2060 KiB
4Elfogadva1/12ms2304 KiB
5Elfogadva1/12ms2520 KiB
6Elfogadva2/23ms2732 KiB
7Elfogadva2/23ms2904 KiB
8Elfogadva2/23ms3116 KiB
9Elfogadva1/196ms4548 KiB
10Időlimit túllépés0/2470ms4008 KiB
11Időlimit túllépés0/3469ms4436 KiB
12Időlimit túllépés0/3462ms4048 KiB
13Elfogadva1/1182ms5632 KiB
14Időlimit túllépés0/2465ms4468 KiB
15Időlimit túllépés0/3442ms4592 KiB
16Időlimit túllépés0/3465ms4580 KiB
17Időlimit túllépés0/3465ms4736 KiB