Pagini recente » Cod sursa (job #1240961) | Cod sursa (job #2243434) | Cod sursa (job #2725848) | Cod sursa (job #134255) | Cod sursa (job #731447)
Cod sursa(job #731447)
#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]%K];
if (i>B)
--mih[sum[i-B-1]%K];
rez += mih[sum[i]%K];
}
cout<<rez;
}