Pagini recente » Cod sursa (job #920443) | Cod sursa (job #360753) | Cod sursa (job #2258310) | Cod sursa (job #228687) | Cod sursa (job #185662)
Cod sursa(job #185662)
#include <stdio.h>
#define NM 100001
int n;
int k, a, b;
long long int s[5*NM];
int fr[NM];
long int c;
int i, j;
long long int nrsol;
int main()
{
freopen("divk.in", "r", stdin);
freopen("divk.out", "w", stdout);
scanf("%d %d %d %d", &n, &k, &a, &b);
for ( i = 1; i <= n; i++ )
{
scanf("%ld", &c);
s[i] = s[i-1] + c;
}
for ( i = 1; i <= n; i++ )
{
if ( i-b-1 >= 0 ) fr[s[i-b-1]%k]--;
if ( i-a >= 0 ) fr[s[i-a]%k]++;
nrsol += fr[s[i]%k];
}
printf("%lld", nrsol);
return 0;
}