232052026-01-16 17:08:22horkaA lehető legkevesebb átszállás (50 pont)cpp17Elfogadva 50/504ms1112 KiB
#include <bits/stdc++.h>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int n,m; cin>>n>>m;
    swap(n,m);
    vector<array<int, 2>> mx(n+1);
    for(int i=1; i<=m; i++)
    {
        int a,b; cin>>a>>b;
        mx[a]=max(mx[a],{b,i});
    }
    for(int i=1; i<=n; i++)
        mx[i]=max(mx[i],mx[i-1]);
    vector<int> ans;
    int curr=1;
    while(curr<n)
    {
        if(mx[curr][0]<=curr) break;
        ans.push_back(mx[curr][1]);
        curr=mx[curr][0];
    }
    if(n==1)
    {
        cout<<"0\n";
        return 0;
    }
    if(curr<n)
    {
        cout<<"-1\n";
        return 0;
    }
    cout<<ans.size()-1<<"\n";
    for(int i:ans)
        cout<<i<<" ";
    cout<<"\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/04ms1076 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms508 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms332 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/21ms508 KiB
11Elfogadva2/22ms568 KiB
12Elfogadva2/23ms572 KiB
13Elfogadva2/21ms564 KiB
14Elfogadva2/22ms564 KiB
15Elfogadva2/22ms820 KiB
16Elfogadva2/23ms836 KiB
17Elfogadva2/23ms872 KiB
18Elfogadva2/23ms1076 KiB
19Elfogadva2/24ms1076 KiB
20Elfogadva2/24ms1112 KiB
21Elfogadva2/24ms1076 KiB
22Elfogadva2/24ms1076 KiB
23Elfogadva2/23ms824 KiB
24Elfogadva2/23ms820 KiB
25Elfogadva2/24ms1076 KiB
26Elfogadva2/23ms1076 KiB
27Elfogadva2/24ms1080 KiB
28Elfogadva2/24ms1076 KiB