Pagini recente » Cod sursa (job #1095533) | Cod sursa (job #703479) | Cod sursa (job #2825439) | Cod sursa (job #3150272) | Cod sursa (job #731448)
Cod sursa(job #731448)
#include <iostream>
#include <stdio.h>
#define nmax 500007
using namespace std;
long long N, K, A, B, i;
long long v[nmax], sum[nmax], mih[100007], rez;
int main()
{
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
scanf("%lld %lld %lld %lld\n",&N, &K, &A, &B);
for (i=1;i<=N;i++)
{
scanf("%lld\n", &v[i]);
}
for (i=1;i<=N;i++)
sum[i] = (sum[i-1] + v[i])%K;
for (i=A;i<=N;++i)
{
++mih[sum[i-A]];
if (i>B)
--mih[sum[i-B-1]];
rez += mih[sum[i]];
}
printf("%lld\n",rez);
}