Pagini recente » Cod sursa (job #2502533) | Cod sursa (job #2123872) | Cod sursa (job #26760) | Cod sursa (job #184333) | Cod sursa (job #473907)
Cod sursa(job #473907)
#include<stdio.h>
FILE*f=fopen("divk.in","r");
FILE*g=fopen("divk.out","w");
int n,k,a,b,s[500100],v[100100] ;
int i , x ;
long long ss ;
int main () {
fscanf ( f , "%d %d %d %d" , &n , &k , &a , &b ) ;
for ( i = 1 ; i <= n ; ++i ) {
fscanf ( f , "%d" , &x ) ;
s[ i ] = ( s[ i - 1 ] + x ) % k ;
if ( i - b - 1 >= 0 )
--v[ s[ i - b - 1 ] ] ;
if ( i - a >= 0 )
++v[ s[ i - a ] ] ;
ss += v[ s[ i ] ] ;
}
fprintf ( g , "%lld" , ss ) ;
fclose(f);
fclose(g);
return 0;
}