Cod sursa(job #9569)

Utilizator thestickTudor A thestick Data 27 ianuarie 2007 16:13:20
Problema Secventa 5 Scor 0
Compilator c Status done
Runda Unirea 2007, clasele 11-12 Marime 0.68 kb
#include <stdio.h>
long buf,m,n,l,u;
long x[1048576][2];
unsigned long p=0,pp=1;

void cit()
{
long i,py=-1,pl=-1;
FILE *f;
f=fopen("secv5.in","r");
fscanf(f,"%d %d %d\n",&n,&l,&u);
for(i=0;i<n;i++)
{
fscanf(f,"%d\n",&buf);
if(buf==pl) x[py][1]++;
if(buf!=pl) { py++; x[py][0]=buf; x[py][1]=1; pl=buf; }
}
m=py+1;
fclose(f);
}

void rez()
{
long i,j,k;
for(i=0;i<=m-l;i++)
        {
        pp=1;
        for(k=i;k<i+l-1;k++)
        pp*=x[k][1];
        
        for(j=i+l-1; (j<i+u)&&(j<m);j++)
        {
        pp*=x[j][1];
        p+=pp;
        }
        }

}

void scr()
{
FILE *f;
f=fopen("secv5.out","w");
fprintf(f,"%d\n",p);
fclose(f);
}

int main()
{
cit();
rez();
scr();
return 0;
}