Cod sursa(job #291197)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 29 martie 2009 15:31:25
Problema Divk Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.39 kb
#include<stdio.h>
long n,k,a,b,i,aa,s[500005],v[500005],sum;
int main()
{
 freopen("divk.in","r",stdin);
 freopen("divk.out","w",stdout);
 scanf("%ld%ld%ld%ld",&n,&k,&a,&b);
 for(i=1;i<=n;++i)
    {scanf("%ld",&aa);
     s[i]=s[i-1]+aa;}
 for(i=1;i<=n;++i)
    {sum+=v[s[i]%k];
     if(i-b+1>0)v[s[i-b+1]%k]--;
     if(i-a+2>0)v[s[i-a+2]%k]++;
     }
 printf("%ld\n",sum);
 return 0;
}