Cod sursa(job #610689)
| Utilizator | Data | 28 august 2011 19:44:20 | |
|---|---|---|---|
| Problema | Divk | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.42 kb |
#include<stdio.h>
#define N 500001
int n,k,a,b,i,j,c[N],v[N];
unsigned long long s[N],t;
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",&c[i]),s[i]=s[i-1]+c[i];
for(i=1;i<=b-a;i++)
v[s[i]%k]++;
for(i=b;i<=n;i++)
{v[s[i-b+1]%k]--;
v[s[i-a+2]%k]++;
t=t+v[s[i]%k];}
printf("%llu",t);
return 0;}
