126962024-12-28 15:40:42BikficcÁruszállítás (75 pont)cpp17Accepted 75/7583ms1268 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct elem
    {
        int kezd,veg;
    };

bool hasonlit(elem a, elem b)
{
    return a.kezd < b.kezd;
}

int main()
{
    int n, m, vege, eleje;
    vector <elem> v;
    cin >> n >> m;
    v.resize(m);
    for(int i = 0; i < m; i++)
    {
        cin >> v[i].kezd >> v[i].veg;
    }
    sort(v.begin(),v.end(),hasonlit);
    eleje=v[0].kezd;
    vege=v[0].veg;
    int db=eleje-1;
    for (int i=1; i<m; i++)
    {
        if (v[i].kezd==eleje)
        {
            if (vege<v[i].veg)
            {
                vege=v[i].veg;
            }
        }
        else
        {
            ///eleje<v[i].kezd
            if (v[i].kezd<=vege)
            {
                if (v[i].veg>vege)
                {
                    vege=v[i].veg;
                }
            }
            else
            /// v[i].kezd>vege
            {
               db=db+(v[i].kezd-vege);
               eleje=v[i].kezd;
               vege=v[i].veg;
            }
        }
    }
    db=db+n-vege;
    cout << db;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base75/75
1Accepted0/01ms588 KiB
2Accepted0/083ms1268 KiB
3Accepted3/31ms320 KiB
4Accepted3/31ms320 KiB
5Accepted3/31ms508 KiB
6Accepted3/31ms508 KiB
7Accepted3/31ms320 KiB
8Accepted4/41ms324 KiB
9Accepted4/41ms320 KiB
10Accepted4/41ms320 KiB
11Accepted4/41ms320 KiB
12Accepted4/41ms320 KiB
13Accepted4/44ms448 KiB
14Accepted4/47ms320 KiB
15Accepted4/44ms436 KiB
16Accepted4/47ms508 KiB
17Accepted4/47ms472 KiB
18Accepted4/48ms472 KiB
19Accepted4/47ms468 KiB
20Accepted4/48ms320 KiB
21Accepted4/475ms1080 KiB
22Accepted4/479ms976 KiB