Pagini recente » Cod sursa (job #2384932) | Cod sursa (job #2118841) | Cod sursa (job #2196742) | Cod sursa (job #2287839) | Cod sursa (job #63765)
Cod sursa(job #63765)
#include <stdio.h>
using namespace std;
#define in "divk.in"
#define out "divk.out"
#define dim 500000
int S[dim+1], V[dim/5+1];
int A, B, K, N;
int main()
{
freopen(in,"r",stdin);
freopen(out,"w",stdout);
int sum = 0;
scanf("%d%d%d%d", &N, &K, &A, &B);
for ( int i = 1; i <= N; i++ ) scanf("%d", &S[i]);
for ( int i = 1; i <= B; i++ )
{
int t = S[i]%K;
//while ( t >= K ) t -= K;
V[t] += 1;
}
for ( int i = B; i <= N; i++ )
{
int t1 = S[i-B+1]%K;
int t2 = S[i-A+2]%K;
int t3 = S[i]%K;
V[t1] -= 1;
V[t2] += 1;
sum += V[t3];
}
printf("%d", sum);
}