200232025-12-31 09:17:24PappMatyasA lehető legkevesebb átszállás (50 pont)cpp17Elfogadva 50/508ms624 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
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/08ms564 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva2/21ms344 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/22ms332 KiB
9Elfogadva2/22ms316 KiB
10Elfogadva2/23ms316 KiB
11Elfogadva2/24ms316 KiB
12Elfogadva2/24ms412 KiB
13Elfogadva2/21ms316 KiB
14Elfogadva2/22ms316 KiB
15Elfogadva2/23ms316 KiB
16Elfogadva2/24ms316 KiB
17Elfogadva2/27ms508 KiB
18Elfogadva2/27ms316 KiB
19Elfogadva2/28ms564 KiB
20Elfogadva2/28ms608 KiB
21Elfogadva2/28ms624 KiB
22Elfogadva2/28ms516 KiB
23Elfogadva2/27ms564 KiB
24Elfogadva2/28ms524 KiB
25Elfogadva2/27ms532 KiB
26Elfogadva2/28ms460 KiB
27Elfogadva2/28ms428 KiB
28Elfogadva2/27ms564 KiB