Pagini recente » Cod sursa (job #2414384) | Cod sursa (job #1051362) | Cod sursa (job #402811) | Cod sursa (job #1707477) | Cod sursa (job #385265)
Cod sursa(job #385265)
#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;
In>>c;
if(c==3) Out<<n<<endl;
else if(c==1) {In>>start>>camere;check_in(start,camere);}
else {In>>start>>camere;check_out(start,camere);}
for(i=2;i<=p;i++)
{
In>>c;
switch(c)
{
case 1:{In>>start>>camere;check_in(start,camere);}break;
case 2:{In>>start>>camere;check_out(start,camere);}break;
case 3:{max=check();Out<<max<<endl;}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;}
}
if(m>mf) mf=m;
return mf;
}