144652025-01-10 21:52:22zedÁruszállítás üres szakaszaicpp17Elfogadva 50/5093ms8164 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){  // solution with sorting and merging the intervals until only non-overlapping
    // intervals are left
    int n, m;
    cin >> n >> m;
    vector<int> deltas(n+1, 0);
    for (int i=0;i<m;i++){
        int left, right;
        cin >> left >> right;
        deltas[left]++;
        deltas[right]--;
    }

    vector<int> counts(n, 0);
    for (int i=1;i<n;i++){
        counts[i] = counts[i-1] + deltas[i];
    }
    // we count how many times the train becomes empty - in other words
    // when its count of packages goes from nonzero to zero.
    // To handle the case when the trains starts empty correctly, we set
    // counts[0] to nonzero.
    counts[0] = 1;
    int result = 0;
    for (int i=1;i<n;i++){
        if(counts[i-1] > 0 and counts[i] == 0) result++;
    }
    cout << result;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/093ms7988 KiB
3Elfogadva2/21ms508 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms356 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva2/21ms688 KiB
12Elfogadva2/22ms1076 KiB
13Elfogadva3/36ms1076 KiB
14Elfogadva3/38ms1844 KiB
15Elfogadva3/36ms1844 KiB
16Elfogadva3/364ms8160 KiB
17Elfogadva3/365ms8156 KiB
18Elfogadva3/376ms8164 KiB
19Elfogadva3/310ms3380 KiB
20Elfogadva3/312ms4168 KiB
21Elfogadva3/378ms7988 KiB
22Elfogadva3/376ms8160 KiB