141202025-01-09 20:32:55csdavidÁruszállítás üres szakaszaicpp17Elfogadva 50/5090ms1076 KiB
#include <iostream>
#include <algorithm>
using namespace std;

struct szallitas{
    int kezd, veg;
};

bool alma(szallitas x123, szallitas y123){
    return x123.kezd<y123.kezd;
}

int main()
{
    int n, m;
    cin >> n >> m;
    szallitas a[m];
    for(int i=0; i<m; i++){
        cin >> a[i].kezd >> a[i].veg;
    }
    int hely=1, i1=0, maxszallitmany=-1, uresszakasz=0, van=1;
    sort(a, a+m, alma);
    while(i1<m&&a[i1].kezd<=hely){
        maxszallitmany=max(maxszallitmany, a[i1].veg);
        i1++;
    }
    hely++;
    while(hely<=n){
        //cout << "hely: " << hely << "\nmaxszallitmany: " << maxszallitmany << "\n;
        if(hely>maxszallitmany){
            if(van){
                van=0;
                uresszakasz++;
            }
        }
        else{
            van=1;
        }

        while(i1<m&&a[i1].kezd<=hely){
            maxszallitmany=max(maxszallitmany, a[i1].veg);
            i1++;
        }
        hely++;
    }
    cout << uresszakasz << '\n';
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms508 KiB
2Elfogadva0/090ms1008 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms320 KiB
6Elfogadva2/21ms524 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva2/21ms320 KiB
12Elfogadva2/21ms316 KiB
13Elfogadva3/36ms500 KiB
14Elfogadva3/38ms412 KiB
15Elfogadva3/34ms408 KiB
16Elfogadva3/370ms988 KiB
17Elfogadva3/371ms1040 KiB
18Elfogadva3/382ms1076 KiB
19Elfogadva3/38ms316 KiB
20Elfogadva3/39ms472 KiB
21Elfogadva3/382ms952 KiB
22Elfogadva3/385ms996 KiB