Cod sursa(job #3230850)

Utilizator andreifilimonPopescu Filimon Andrei Cosmin andreifilimon Data 23 mai 2024 09:09:14
Problema Hotel Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>

using namespace std;

ifstream cin("hotel.in");
ofstream cout("hotel.out");

#define MAXN 100000
#define MAXP 200000

bool ocupat[MAXN + 1];

int main()
{
    int n, p;
    cin >> n >> p;
    int cer, a, b, i, secvmax, secvcurr;
    while(p--)
    {
        cin >> cer;
        if(cer == 1)
        {
            cin >> a >> b;
            for(i = a; i <= a + b - 1; i++)
                ocupat[i] = 1;
        }
        else if(cer == 2)
        {
            cin >> a >> b;
            for(i = a; i <= a + b - 1; i++)
                ocupat[i] = 0;
        }
        else
        {
            secvmax = secvcurr = 0;
            for(i = 1; i <= n; i++)
            {
                if(ocupat[i] == 0)
                    secvcurr++;
                else
                {
                    secvmax = max(secvmax, secvcurr);
                    secvcurr = 0;
                }
            }
            secvmax = max(secvmax, secvcurr);
            cout << secvmax << '\n';
        }
    }
}