Pagini recente » Cod sursa (job #133753) | Cod sursa (job #280240) | Cod sursa (job #478668) | Cod sursa (job #2838209) | Cod sursa (job #399314)
Cod sursa(job #399314)
#include<fstream>
#include<string>
using namespace std;
#define N 100001
ifstream in("hotel.in");
ofstream out("hotel.out");
int n;
char cam[N];
char s[N],*pp,*q;
int secv()
{ unsigned int lmax=0;
strncpy(s,cam,n);
s[n]='\0';
pp=strchr(s,'1');
while(pp)
{ if(pp-s>lmax)
lmax=pp-s;
q=strchr(pp,'0');
if (q)
{strcpy(s,q);
pp=strchr(s,'1');
}
else
{
s[0]='\0';
pp=0;
}
}
if(strlen(s)>lmax)
lmax=strlen(s);
return lmax;
}
int main()
{
int p,c,k,t;
in>>n>>p;
int i;
//strset(cam,'0');
for(int i=0;i<n;i++) cam[i]='0';
for(i=1;i<=p;i++)
{
in>>c;
if(c==1)
{
in>>k>>t;
for(int j=k-1;j<=k+t-2;j++)
cam[j]='1';
}
if(c==2)
{
in>>k>>t;
for(int j=k-1;j<=k+t-2;j++)
cam[j]='0';
}
if(c==3)
{
out<<secv()<<'\n';
}
}
in.close();
out.close();
return 0;
}