Pagini recente » Cod sursa (job #242109) | Cod sursa (job #3245981) | Cod sursa (job #1150305) | Cod sursa (job #618411) | Cod sursa (job #1649912)
# include <stdio.h>
# include <stdlib.h>
# define MAXN 500000
# define MAXK 100000
int v[MAXN + 1];
int rest[MAXK];
int main()
{
FILE *fin = fopen( "divk.in", "r" ), *fout = fopen( "divk.out", "w" );
int n, k, a, b, s, i;
fscanf( fin, "%d%d%d%d", &n, &k, &a, &b );
s = 0;
for ( i = 1; i <= n; i ++ ) {
fscanf( fin, "%d", &v[i] );
v[i] %= k;
if ( i - b - 1 >= 0 )
rest[v[i - b - 1]] --;
if ( i - a >= 0 )
rest[v[i - a]] ++;
s += rest[v[i]];
}
fprintf( fout, "%d", s );
fclose( fin );
fclose( fout );
return 0;
}