200222025-12-31 09:16:33PappMatyasA lehető legkevesebb átszállás (50 pont)cpp17Futási hiba 48/5090ms32000 KiB
#include <iostream>
#include <vector>

using namespace std;

class int2
{
	public:
	int x;
	int y;
};

int main()
{
	int n, m;
	vector<int2> trains;
	vector<int> sol;
	cin >> n >> m;
	int s = 1, e = 1;
	for (int i = 0; i < n; i++)
	{
		int2 in{};
		cin >> in.x >> in.y;
		trains.push_back(in);
	}
	bool found = true;
	while (e != m)
	{
		int max = 0;
		int save = -1;
		int sstart = -1;
		for (int i = 0; i < n; i++)
		{
			if (trains[i].x >= s && trains[i].x <= e)
			{
				if (trains[i].y > max)
				{
					max = trains[i].y;
					sstart = trains[i].x;
					save = i;
				}
			}
		}
		if (save == -1 || max < e)
		{
			found = false;
			break;
		}
		sol.push_back(save + 1);
		s = sstart;
		e = max;
	}
	if (!found)
	{
		cout << -1;
	}
	else
	{
		cout << sol.size() - 1 << endl;
		for (int val : sol)
		{
			cout << val << " ";
		}
		cout << endl;
	}
	return 0;
}

RészfeladatÖsszpontTesztVerdiktIdőMemória
base48/50
1Elfogadva0/01ms508 KiB
2Elfogadva0/09ms564 KiB
3Futási hiba0/190ms32000 KiB
4Futási hiba0/171ms32000 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva2/22ms316 KiB
10Elfogadva2/23ms316 KiB
11Elfogadva2/24ms424 KiB
12Elfogadva2/24ms456 KiB
13Elfogadva2/21ms316 KiB
14Elfogadva2/22ms420 KiB
15Elfogadva2/23ms424 KiB
16Elfogadva2/24ms316 KiB
17Elfogadva2/27ms412 KiB
18Elfogadva2/28ms528 KiB
19Elfogadva2/28ms512 KiB
20Elfogadva2/28ms612 KiB
21Elfogadva2/28ms512 KiB
22Elfogadva2/28ms624 KiB
23Elfogadva2/27ms516 KiB
24Elfogadva2/27ms564 KiB
25Elfogadva2/27ms460 KiB
26Elfogadva2/28ms564 KiB
27Elfogadva2/27ms608 KiB
28Elfogadva2/27ms508 KiB