208432026-01-09 20:06:41hunzombiA lehető legkevesebb átszállás (50 pont)cpp17Hibás válasz 22/5048ms32000 KiB
#include <bits/stdc++.h>
using namespace std;

int n, m;

int main()
{
    cin >> m >> n;
    vector<pair<int, int>> vec;
    for (int i=0; i < m; i++) {
        int u, v;
        cin >> u >> v;
        vec.push_back({u, v});
    }
    sort(vec.begin(), vec.end());
    int k = 1;
    int high = 1;
    int idx = -1;
    vector<int> res;
    for (int i=0; i < vec.size(); i++) {
        if (vec[i].first <= k) {
            if (vec[i].second > high) {
                high = vec[i].second;
                idx = i + 1;
            }
        } else {
            k = high;
            res.push_back(idx);
            i--;
        }
    }
    cout << res.size() - 1 << '\n';
    for (int x : res) cout << x << ' ';
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base22/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/08ms564 KiB
3Hibás válasz0/11ms316 KiB
4Futási hiba0/148ms32000 KiB
5Részben helyes1/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Részben helyes1/21ms316 KiB
8Elfogadva2/22ms316 KiB
9Részben helyes1/22ms396 KiB
10Részben helyes1/23ms316 KiB
11Részben helyes1/23ms416 KiB
12Részben helyes1/24ms316 KiB
13Részben helyes1/21ms316 KiB
14Részben helyes1/22ms428 KiB
15Részben helyes1/23ms316 KiB
16Részben helyes1/24ms404 KiB
17Részben helyes1/26ms400 KiB
18Részben helyes1/26ms528 KiB
19Részben helyes1/27ms564 KiB
20Részben helyes1/27ms572 KiB
21Részben helyes1/28ms412 KiB
22Részben helyes1/28ms620 KiB
23Hibás válasz0/28ms572 KiB
24Hibás válasz0/27ms432 KiB
25Elfogadva2/28ms528 KiB
26Hibás válasz0/28ms500 KiB
27Hibás válasz0/28ms504 KiB
28Elfogadva2/27ms516 KiB