Cod sursa(job #2791128)

Utilizator BiancaMMIVMariciuc Bianca BiancaMMIV Data 30 octombrie 2021 09:49:36
Problema Hotel Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.17 kb
#include <bits/stdc++.h>

using namespace std;

int N, P, c, ind, M;
vector<int> vect;

void afisare();
void sosesteGrup()
{
    int sf = ind + M - 1;
    for(int i=ind; i<=sf; i++)
        vect[i] = 0;
    //afisare();
}

void pleacaGrup()
{
    int sf = ind + M - 1;
    for(int i=ind; i<=sf; i++)
        vect[i] = 1;
    //afisare();
}

void afisare()
{
    for(int i=1; i<=N; i++)
        cout<<vect[i]<<" ";
    cout<<endl;
}

int maxim()
{
    int maxi = 0, auxMax = 0;

    for(int i=1; i<=N; i++)
    {
        if(vect[i] == 1)
            auxMax++;
        if(vect[i] == 0)
        {
            maxi = max(auxMax, maxi);
            auxMax = 0;
        }
    }
    return max(auxMax, maxi);
}

int main()
{
    ifstream  fin("hotel.in");
    ofstream fout("hotel.out");
    fin>>N>>P;
    vect = vector<int> (N+1, 1);

    for(; P; P--)
    {
        fin>>c;
        if(c == 1)
        {
            fin>>ind>>M;
            sosesteGrup();
        }
        if(c == 2)
        {
            fin>>ind>>M;
            pleacaGrup();
        }
        if(c == 3)
            fout<<maxim()<<endl;
    }

    return 0;
}