9700 2024. 03. 01 12:03:44 Gervid Hadjárat cpp17 Időlimit túllépés 0/100 300ms 5252 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    int n, i, j;
    cin >> n;

	vector<pair<pair<int, int>, int>> a(n);
	for (i = 0; i < n; i++)
	{
		cin >> a[i].first.first >> a[i].first.second;
		a[i].second = i;
	}

	sort(a.begin(), a.end());

	vector<int> opt(n);
	opt[0] = 1;

	vector<int> last(n, -1);

	for (i = 1; i < n; i++)
	{
		int best = 0;
		for (j = i-1; j >= 0; j--)
		{
			if (a[j].first.second < a[i].first.second && opt[j] > best)
			{
				best = opt[j];
				last[i] = j;
			}
		}

		opt[i] = best + 1;
	}

	int max = 0, maxi;
	for (i = 0; i < n; i++)
	{
		if (opt[i] > max)
		{
			max = opt[i];
			maxi = i;
		}
	}

	cout << max << '\n';

	i = maxi;
	vector<int> out;
	out.reserve(max);

	while (i != -1)
	{
		out.push_back(i);
		i = last[i];
	}

	for (i = max-1; i >= 0; i--)
	{
		cout << a[out[i]].second + 1 << ' ';
	}
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 0/100
1 Elfogadva 0/0 3ms 1956 KiB
2 Időlimit túllépés 0/0 300ms 2428 KiB
3 Hibás válasz 0/4 3ms 2320 KiB
4 Hibás válasz 0/4 3ms 2404 KiB
5 Hibás válasz 0/4 3ms 2468 KiB
6 Hibás válasz 0/4 2ms 2576 KiB
7 Hibás válasz 0/4 3ms 2820 KiB
8 Hibás válasz 0/4 3ms 2920 KiB
9 Hibás válasz 0/4 3ms 2976 KiB
10 Hibás válasz 0/4 6ms 3120 KiB
11 Hibás válasz 0/4 65ms 3536 KiB
12 Időlimit túllépés 0/4 246ms 4120 KiB
13 Időlimit túllépés 0/6 246ms 4120 KiB
14 Időlimit túllépés 0/6 254ms 3584 KiB
15 Időlimit túllépés 0/6 261ms 3884 KiB
16 Időlimit túllépés 0/6 266ms 4464 KiB
17 Időlimit túllépés 0/6 273ms 4580 KiB
18 Időlimit túllépés 0/6 257ms 4796 KiB
19 Időlimit túllépés 0/6 266ms 4952 KiB
20 Időlimit túllépés 0/6 261ms 5132 KiB
21 Időlimit túllépés 0/6 286ms 5252 KiB
22 Időlimit túllépés 0/6 266ms 5212 KiB