Cod sursa(job #156478)

Utilizator CarmenAdelaCosovan Carmen Adela CarmenAdela Data 12 martie 2008 16:20:36
Problema Hotel Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<stdio.h>
#include<string.h>
long n;
int c;
char s[100000];
int lgmax()
{long max,nc,i;
 char x0;
 max=0;
 x0=s[1];
 nc=1;
 for(i=1;i<=n;i++)
  if(s[i]==x0)
   nc++;
  else
   {if(nc>max)
     max=nc;
    nc=1;
    x0=s[i];
   }
 return max;
}
void vin(long i,long m)
{long j,g;
 g=i+m;
 for(j=i-1;j<g-1;j++)
  s[j]='1';
}
void pleaca(long i,long m)
{long j,g;
 g=i+m;
 for(j=i-1;j<g-1;j++)
  s[j]='0';
}
int main()
{long i,m,p,j,lmax;
 freopen("hotel.in","r",stdin);
 freopen("hotel.out","w",stdout);
 scanf("%ld %ld",&n,&p);
 for(i=0;i<n;i++)
  s[i]='0';
 for(j=1;j<=p;j++)
  {scanf("%d",&c);
   if(c==1)
    {scanf("%ld %ld",&i,&m);
     vin(i,m);
    }
   if(c==2)
    {scanf("%ld %ld",&i,&m);
     pleaca(i,m);
    }
   if(c==3)
    {lmax=lgmax();
     printf("%ld\n",lmax);
    }
  }
 return 0;
}