Cod sursa(job #782988)

Utilizator andreimaresuMaresu Andrei andreimaresu Data 1 septembrie 2012 17:04:17
Problema Hotel Scor 40
Compilator c Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<stdio.h>
#include<stdlib.h>
long int verifica(long int *a,long int n)
{
    long int nr=0,aux=0,i;
    for(i=0;i<n;i++){
        if(a[i]) aux=0;
        else aux++;
        if(aux>nr) nr=aux;
    }
    return nr;
}
int main()
{
    freopen("hotel.in","r",stdin);
    freopen("hotel.out","w",stdout);
    long int n,p,i,*a,x,y,l,j;
    int c;
    scanf("%ld %ld",&n,&p);
    a=(long int*)calloc(n,sizeof(long int));
    for(i=0;i<p;i++){
        scanf("%d",&c);
        if(c==3) {l=verifica(a,n);
                printf("%ld\n",l);
        }
            else {scanf("%ld %ld",&x,&y);
                    if(c==1) for(j=x-1;j<y+x-1;j++)
                                a[j]=1;
                            else for(j=x-1;j<y+x-1;j++)
                                a[j]=0;
            }
    }
    return 0;
}