7285 2024. 01. 06 09:05:31 MagyarKendeSZLG A lehető legkevesebb átszállás (50 pont) cpp17 Elfogadva 50/50 4ms 4380 KiB
#include <bits/stdc++.h>

#define speed cin.tie(0); ios::sync_with_stdio(0)
#define cinv(v) for (auto& e : v) cin >> e;

#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define size(v) (int)v.size()
#define has(s, e) s.count(e)

#define max_index(v) max_element(all(v)) - v.begin()
#define min_index(v) min_element(all(v)) - v.begin()
#define smax(x, y) x = max(x, y)
#define smin(x, y) x = min(x, y)

using namespace std;
using ll = long long;
using point = array<int, 2>;

int max(point p) { return max(p[0], p[1]); }
int min(point p) { return min(p[0], p[1]); }

int main() {
    speed;

    int N, M;
    cin >> N >> M;
    
    vector<point> AB(N + 1);
    for (int i = 1; i <= N; i++) {
        cin >> AB[i][0] >> AB[i][1];
    }

    vector<int> result;
    int i = 1, pos = 1;

    while (pos < M) {
        int curr = -1;

        while (i <= N && AB[i][0] <= pos) {
            if (curr == -1 || AB[curr][1] < AB[i][1]) {
                curr = i;
            }
            i++; 
        }

        if (curr == -1) {
            cout << -1;
            exit(0);
        }

        pos = AB[curr][1];
        result.push_back(curr);
    }

    cout << size(result) - 1 << '\n';
    for (int x : result) cout << x << ' ';
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 2100 KiB
2 Elfogadva 0/0 4ms 2544 KiB
3 Elfogadva 1/1 3ms 2416 KiB
4 Elfogadva 1/1 3ms 2452 KiB
5 Elfogadva 2/2 3ms 2648 KiB
6 Elfogadva 2/2 3ms 2724 KiB
7 Elfogadva 2/2 3ms 2992 KiB
8 Elfogadva 2/2 3ms 2884 KiB
9 Elfogadva 2/2 3ms 2796 KiB
10 Elfogadva 2/2 3ms 3056 KiB
11 Elfogadva 2/2 3ms 3144 KiB
12 Elfogadva 2/2 4ms 3028 KiB
13 Elfogadva 2/2 3ms 3192 KiB
14 Elfogadva 2/2 3ms 3548 KiB
15 Elfogadva 2/2 3ms 3632 KiB
16 Elfogadva 2/2 4ms 3500 KiB
17 Elfogadva 2/2 4ms 3768 KiB
18 Elfogadva 2/2 4ms 3984 KiB
19 Elfogadva 2/2 4ms 4192 KiB
20 Elfogadva 2/2 4ms 4284 KiB
21 Elfogadva 2/2 4ms 4192 KiB
22 Elfogadva 2/2 4ms 4340 KiB
23 Elfogadva 2/2 4ms 4268 KiB
24 Elfogadva 2/2 4ms 4204 KiB
25 Elfogadva 2/2 4ms 4204 KiB
26 Elfogadva 2/2 4ms 4380 KiB
27 Elfogadva 2/2 4ms 4244 KiB
28 Elfogadva 2/2 4ms 4204 KiB