62332023-11-08 12:07:16CWMZsonglőrködéscpp17Wrong answer 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
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Wrong answer3ms1812 KiB
2Accepted3ms2044 KiB
subtask20/20
3Accepted7ms3024 KiB
4Accepted214ms25240 KiB
5Wrong answer680ms59924 KiB
6Accepted769ms71704 KiB
7Accepted982ms79196 KiB
8Accepted1s79452 KiB
9Accepted978ms79456 KiB
10Accepted865ms79588 KiB
11Wrong answer860ms79820 KiB
subtask30/35
12Accepted3ms3648 KiB
13Wrong answer3ms3908 KiB
14Wrong answer3ms4012 KiB
15Wrong answer3ms4064 KiB
16Wrong answer3ms4092 KiB
17Wrong answer4ms4464 KiB
18Wrong answer3ms4360 KiB
19Wrong answer4ms4648 KiB
20Wrong answer4ms4496 KiB
subtask40/45
21Accepted7ms5064 KiB
22Wrong answer85ms10092 KiB
23Wrong answer702ms61592 KiB
24Accepted259ms21200 KiB
25Wrong answer850ms80844 KiB
26Wrong answer287ms23460 KiB
27Wrong answer855ms81016 KiB
28Wrong answer284ms23420 KiB
29Wrong answer953ms80948 KiB