Pagini recente » Cod sursa (job #2890195) | Cod sursa (job #262818) | Cod sursa (job #195245) | Cod sursa (job #376613) | Cod sursa (job #385258)
Cod sursa(job #385258)
#include<iostream>
#include<fstream>
using namespace std;
long n,p,C[100000];
void check_in(long,long);
void check_out(long,long);
long check(void);
int main()
{
int i,c;
long start,camere,max;
ifstream In("hotel.in");
ofstream Out("hotel.out");
In>>n>>p;
max=n;
for(i=1;i<=p;i++)
{
In>>c;
switch(c)
{
case 3:{if(i!=1) max=check(); else max=n; Out<<max<<endl;}break;
case 1:{In>>start>>camere;check_in(start,camere);}break;
case 2:{In>>start>>camere;check_out(start,camere);}break;
}
}
In.close();
Out.close();
return 0;
}
void check_in(long s,long c)
{
long i;
for(i=s;i<s+c;i++) C[i]=1;
}
void check_out(long s,long c)
{
long i;
for(i=s;i<s+c;i++) C[i]=0;
}
long check()
{
long i=1,m=0,mf=0;
if(C[1]==0) {m=1;i++;}
for(;i<=n;i++)
{
if(C[i]==0) m++;
else {if(m>mf) mf=m; m=0;}
}
return mf;
}