Cod sursa(job #297555)

Utilizator chibicitiberiuChibici Tiberiu chibicitiberiu Data 5 aprilie 2009 14:30:19
Problema Hotel Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.15 kb
#include<fstream>
#define nlim 100000
#define plim 200000
#define plina true
#define goala false
using namespace std;

bool rooms[nlim+1];
int camere;

void adauga(int membri, int start)
{
    for (int i=start;i<start+membri;i++)
        rooms[i]=plina;
}

void pleaca(int membri, int start)
{
    for (int i=start;i<start+membri;i++)
        rooms[i]=goala;
}

int numara()
{
    int max=0, temp=0;
    for (int i=1;i<=camere;i++)
    {
        if (rooms[i]==plina) {
            if (temp>max) max=temp;
            temp=0;
        }
        else temp++;
    }
    if (temp>max) max=temp;
    return max;
}


int main()
{
    int instructiuni,c,start,membri;
    ifstream in ("hotel.in");
    ofstream out ("hotel.out");

    in>>camere>>instructiuni;

    for (int i=0;i<instructiuni;i++)
    {
        in>>c;
        if (c==1) {
            in>>start>>membri;
            adauga(membri, start);
        }
        else if (c==2) {
            in>>start>>membri;
            pleaca(membri, start);
        }
        else if (c==3) out<<numara()<<endl;
    }

    in.close();
    out.close();
    return 0;
}