Pagini recente » Cod sursa (job #1139148) | Cod sursa (job #1156005) | Cod sursa (job #296981) | Cod sursa (job #1037775) | Cod sursa (job #297555)
Cod sursa(job #297555)
#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;
}