232552026-01-16 20:13:46CzDaniA lehető legkevesebb átszállás (50 pont)cpp17Accepted 50/508ms1200 KiB
#include <bits/stdc++.h>
using namespace std;

signed main() {
    int n, m;
    cin >> n >> m;
    vector<pair<int,int>> v(m+1);
    for (int i = 1; i <= n; i++) {
        int a, b;
        cin >> a >> b;
        v[a]=max(v[a],{b,i});
    }
    for (int i = 1; i <= m; i++) {
        v[i]=max(v[i],v[i-1]);
    }
    int x = 1;
    vector<int> ansv;
    while (x<m) {
        if (v[x].first<=x) {
            cout << -1;
            return 0;
        }
        ansv.push_back(v[x].second);
        x=v[x].first;
    }
    cout<<ansv.size()-1<<endl;
    for (int x : ansv)cout << x << ' ';
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/08ms1076 KiB
3Accepted1/11ms316 KiB
4Accepted1/11ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/22ms512 KiB
9Accepted2/23ms316 KiB
10Accepted2/23ms572 KiB
11Accepted2/24ms756 KiB
12Accepted2/24ms728 KiB
13Accepted2/22ms572 KiB
14Accepted2/23ms744 KiB
15Accepted2/23ms564 KiB
16Accepted2/24ms568 KiB
17Accepted2/26ms1088 KiB
18Accepted2/27ms1076 KiB
19Accepted2/27ms1076 KiB
20Accepted2/28ms1084 KiB
21Accepted2/28ms1076 KiB
22Accepted2/28ms1192 KiB
23Accepted2/27ms820 KiB
24Accepted2/28ms820 KiB
25Accepted2/28ms1120 KiB
26Accepted2/28ms1164 KiB
27Accepted2/28ms1200 KiB
28Accepted2/28ms1160 KiB