Pagini recente » Cod sursa (job #519943) | Istoria paginii utilizator/jiyuunotsubasa | Profil M@2Te4i | Cod sursa (job #1584549) | Cod sursa (job #2017447)
#include <stdio.h>
int x, n, k, a, b, i, j;
int s[500001];
long long t, a1[500001], b1[500001];
int main() {
freopen( "divk.in" , "r" , stdin );
freopen( "divk.out" , "w" , stdout );
scanf( "%d %d %d %d" , &n , &k , &a , &b );
for( i = 1 ; i <= n ; i++ ){
scanf( "%d" , &x );
s[i] = ( s[ i - 1 ] + x ) % k;
if( i >= a ){
a1[s[ i - a ]]++;
}
if( i > b ){
b1[s[ i - b - 1 ]]++;
}
t += a1[s[i]] - b1[s[i]];
}
printf ( "%lld" , t );
return 0;
}