Pagini recente » Monitorul de evaluare | Istoria paginii utilizator/alutzu | Profil runnaway90 | Pav | Cod sursa (job #36699)
Cod sursa(job #36699)
#include<fstream.h>
#define InFile "hotel.in"
#define OutFile "hotel.out"
long n,p;
void citire()
{ ifstream f(InFile);
f>>n>>p;
int i=1,a[30000],j,x,ii,ff,k=0,kmax=0;
memset(a,0,sizeof(a));
ofstream g(OutFile);
while(i<=p)
{ f>>x;
if(x==1)
{ f>>ii>>ff;
for(j=ii;j<ii+ff;j++)
a[j]=1;
k=0;
for(j=1;j<=n;j++)
if(a[j]==0) k++;
else{ if(k>kmax) kmax=k;
k=0;
}
if(i!=p)
if(k<kmax) g<<kmax<<"\n";
else g<<k<<"\n";
else if(k<kmax) g<<kmax;
else g<<k;
}
else if(x==2)
{ f>>ii>>ff;
for(j=ii;j<=ii+ff;j++)
a[j]=0;
k=0;
for(j=1;j<=n;j++)
if(a[j]==0) k++;
else{ if(k>kmax) kmax=k;
k=0;
}
if(i!=p)
if(k<kmax) g<<kmax<<"\n";
else g<<k<<"\n";
else if(k<kmax) g<<kmax;
else g<<k;
}
else { k=0;
for(j=1;j<=n;j++)
if(a[j]==0) k++;
else{ if(k>kmax) kmax=k;
k=0;
}
if(i!=p)
if(k<kmax) g<<kmax<<"\n";
else g<<k<<"\n";
else if(k<kmax) g<<kmax;
else g<<k;
}
i++;
}
g.close();
f.close();
}
int main()
{ citire();
return 0;
}