62332023-11-08 12:07:16CWMZsonglőrködéscpp17Hibás válasz 0/1001s81016 KiB
// KKGyak.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
using namespace std;

#include <iostream>
#include <map>
#include <set>
#include <unordered_set>
#include <vector>

int main()
{
    int a;
    cin >> a;
	map<int, multiset<int>> dataStr;
	set<int> exists;
	vector<int> exsistsVec;
	for (size_t i = 0; i < a; i++)
	{
		int a, b;
		cin >> a >> b;
		if (exists.count(a) == 0) {
			dataStr.insert({ a,multiset<int>() });
			exists.insert(a);
			exsistsVec.push_back(a);
		}
		dataStr[a].insert(b);
	}
	int res = 0;
	int testedIdx = 0;
	while (true)
	{
		int chain = -1;
		int convToMap = exsistsVec[testedIdx];
		/*for (auto m : dataStr) {
			if (m.second.size() > 0) {
				chain = *m.second.begin();
				dataStr[m.first].erase(dataStr[m.first].begin());
				break;
			}
		}*/
		while (true) {
			if (dataStr[exsistsVec[testedIdx]].size() == 0) {
				testedIdx++;
				if (exsistsVec.size() <= testedIdx) break;
			}
			else {
				chain = *dataStr[exsistsVec[testedIdx]].begin();
				dataStr[exsistsVec[testedIdx]].erase(dataStr[exsistsVec[testedIdx]].begin());
				break;
			}
		}
		if (chain == -1) break;
		while (true)
		{
			if (exists.count(chain) == 1 && dataStr[chain].size()>0) {
				int old = chain;
				chain = *dataStr[chain].begin();
				dataStr[old].erase(dataStr[old].begin());
			}
			else break;
		}
		res++;
	}
	cout << res;
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz3ms1812 KiB
2Elfogadva3ms2044 KiB
subtask20/20
3Elfogadva7ms3024 KiB
4Elfogadva214ms25240 KiB
5Hibás válasz680ms59924 KiB
6Elfogadva769ms71704 KiB
7Elfogadva982ms79196 KiB
8Elfogadva1s79452 KiB
9Elfogadva978ms79456 KiB
10Elfogadva865ms79588 KiB
11Hibás válasz860ms79820 KiB
subtask30/35
12Elfogadva3ms3648 KiB
13Hibás válasz3ms3908 KiB
14Hibás válasz3ms4012 KiB
15Hibás válasz3ms4064 KiB
16Hibás válasz3ms4092 KiB
17Hibás válasz4ms4464 KiB
18Hibás válasz3ms4360 KiB
19Hibás válasz4ms4648 KiB
20Hibás válasz4ms4496 KiB
subtask40/45
21Elfogadva7ms5064 KiB
22Hibás válasz85ms10092 KiB
23Hibás válasz702ms61592 KiB
24Elfogadva259ms21200 KiB
25Hibás válasz850ms80844 KiB
26Hibás válasz287ms23460 KiB
27Hibás válasz855ms81016 KiB
28Hibás válasz284ms23420 KiB
29Hibás válasz953ms80948 KiB