57112023-09-09 18:36:30TomaSajtA lehető legkevesebb átszállás (50 pont)cpp17Elfogadva 50/504ms4652 KiB
#include <bits/stdc++.h>
using namespace std;

struct line {
  int s, e;
};

int main() {
  cin.tie(0), ios::sync_with_stdio(0);

  int n, m;
  cin >> n >> m;

  vector<line> lines(n);
  for (auto& [s, e] : lines) cin >> s >> e;

  int pos = 1, i = 0;
  vector<int> sol;
  while (pos < m && i < n) {
    int bestI = -1;
    while (i < n && lines[i].s <= pos) {
      if (bestI == -1 || lines[i].e > lines[bestI].e) bestI = i;
      i++;
    }
    if (bestI == -1) break;
    pos = lines[bestI].e;
    sol.push_back(bestI);
  }

  if (pos < m) {
    cout << "-1";
    return 0;
  }

  cout << sol.size() - 1 << '\n';
  for (int j : sol) cout << j + 1 << ' ';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1824 KiB
2Elfogadva0/04ms2292 KiB
3Elfogadva1/13ms2244 KiB
4Elfogadva1/12ms2472 KiB
5Elfogadva2/22ms2684 KiB
6Elfogadva2/22ms2892 KiB
7Elfogadva2/23ms3120 KiB
8Elfogadva2/23ms3336 KiB
9Elfogadva2/23ms3680 KiB
10Elfogadva2/23ms3752 KiB
11Elfogadva2/23ms3972 KiB
12Elfogadva2/23ms3916 KiB
13Elfogadva2/23ms4016 KiB
14Elfogadva2/23ms4104 KiB
15Elfogadva2/23ms4116 KiB
16Elfogadva2/23ms4028 KiB
17Elfogadva2/24ms4296 KiB
18Elfogadva2/24ms4264 KiB
19Elfogadva2/24ms4524 KiB
20Elfogadva2/24ms4480 KiB
21Elfogadva2/24ms4512 KiB
22Elfogadva2/24ms4500 KiB
23Elfogadva2/24ms4496 KiB
24Elfogadva2/24ms4500 KiB
25Elfogadva2/24ms4628 KiB
26Elfogadva2/24ms4652 KiB
27Elfogadva2/24ms4632 KiB
28Elfogadva2/24ms4648 KiB