Cod sursa(job #244351)

Utilizator ConsstantinTabacu Raul Consstantin Data 14 ianuarie 2009 22:06:40
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>
long int v[500011],re[100001],i,j,k,l,m,n,a,b;
unsigned long long int x,nr,sum;


int main(){
FILE *f=fopen("divk.in","r");
fscanf(f,"%ld %ld %ld %ld",&n,&k,&a,&b);
re[0]=0;


for(m=1;m<=n;m++)
        {

        fscanf(f,"%lld",&x);
        sum+=x;
        sum=sum%k;
        v[m]=re[sum];
        re[sum]=m;
        if(sum==0)
        if(m>=a)
        if(m<=b)
                nr++;

        
        for(i=v[m];i!=0&&(m-i<=b)&&i;i=v[i])
                if(m-i>=a)
                        nr++;

                
        }
fclose(f);
FILE *g=fopen("divk.out","w");
fprintf(g,"%lld",nr);
fclose(g);
return 0;}