127322024-12-29 14:10:17ruffbrigiÁruszállítás üres szakaszaicpp17Időlimit túllépés 17/50398ms508 KiB
#include <iostream>
#include <map>
#include <set>
using namespace std;

int main()
{
    int n,m,x,y;
    cin>>n>>m;
    map<int,int> szallit;
    cin>>x>>y;
    szallit[x]=y;
    set <int>kivenni;
    for(int i=2;i<=m;i++)
    {
        cin>>x>>y;
        bool ok=false;

        kivenni.clear();
        for(const auto&pair:szallit)
        {

           // cout<<"hasonlit ("<<szallit.size()<<"):"<<pair.first<<" - "<<pair.second<<" x,y:"<<x<<" - "<<y<<endl;
            if(x<pair.first && y<pair.first)
            {
                szallit[x]=y;
                ok=true;
                break;
            }
            if(x>pair.second && y>pair.second)
            {
                continue;
            }
            if(x<pair.first && y>=pair.first && y<=pair.second)
            {

                kivenni.insert(pair.first);
               y=pair.second;
                break;
            }
            if(x>=pair.first && x<=pair.second && y>pair.second)
            {

                kivenni.insert(pair.first);
                x=pair.first;
                continue;
            }
            if(x>=pair.first && y<=pair.second)
            {
                ok=true;
                break;
            }
            if(x<pair.first && y>pair.second)
            {

                kivenni.insert(pair.first);
                continue;
            }
        }
        for (auto it = kivenni.begin(); it != kivenni.end(); ++it) {
            szallit.erase(*it);
        }
        if(!ok) szallit[x]=y;
        //for (const auto& pair : szallit) {
        //    cout<<"Kulcs: "<<pair.first<<"Ertek: "<<pair.second<<endl;
        //}
    }
    int atsz=szallit.size()-1;
    auto elso=szallit.begin();
    if(elso->first!=1) atsz++;
    auto uccso=prev(szallit.end());
    if(uccso->second!=n) atsz++;
    cout<<atsz;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base17/50
1Elfogadva0/01ms508 KiB
2Időlimit túllépés0/0384ms508 KiB
3Elfogadva2/21ms320 KiB
4Elfogadva2/21ms320 KiB
5Hibás válasz0/21ms320 KiB
6Hibás válasz0/21ms320 KiB
7Hibás válasz0/21ms320 KiB
8Elfogadva2/21ms320 KiB
9Hibás válasz0/21ms320 KiB
10Elfogadva2/21ms320 KiB
11Hibás válasz0/21ms508 KiB
12Hibás válasz0/21ms320 KiB
13Hibás válasz0/337ms456 KiB
14Hibás válasz0/3111ms320 KiB
15Hibás válasz0/346ms468 KiB
16Elfogadva3/361ms404 KiB
17Elfogadva3/361ms412 KiB
18Elfogadva3/370ms320 KiB
19Hibás válasz0/354ms500 KiB
20Hibás válasz0/396ms488 KiB
21Időlimit túllépés0/3382ms320 KiB
22Időlimit túllépés0/3398ms468 KiB