Pagini recente » Cod sursa (job #1748403) | Cod sursa (job #2273524) | Cod sursa (job #1571982) | Cod sursa (job #2058788) | Cod sursa (job #57863)
Cod sursa(job #57863)
#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];
while ( t >= K ) t -= K;
V[t] += 1;
}
int t = S[1];
while ( t >= K ) t -= K;
sum += V[t];
for ( int i = B+1; i <= N; i++ )
{
int t = S[i];
while ( t >= K ) t -= K;
V[t] += 1;
int t2 = S[i-B];
while ( t2 >= K ) t2 -= K;
V[t2] -= 1;
sum += V[t];
}
/*for ( int i = 1; i <= K; i++ )
printf("%d ", V[i]); */
printf("%d", sum);
}