Pagini recente » Cod sursa (job #1917580) | Cod sursa (job #2259661) | Cod sursa (job #268283) | Cod sursa (job #1914641) | Cod sursa (job #989556)
Cod sursa(job #989556)
#include <iostream>
#include <stdio.h>
#include <cstring>
#define MAX_N 500005
using namespace std;
int n,k,a,b,v[MAX_N],ap[MAX_N];
void citire()
{
freopen("divk.in","r",stdin);
scanf( "%d %d %d %d",&n, &k, &a, &b );
int i;
for( i = 1; i <= n; ++i ){
scanf( "%d", &v[i] );
v[i]= ( v[i] + v[i-1] ) % k;
}
}
long long rezolva(){
long long solution = 0, i;
for( i = a; i <= n; i++ ){
ap[ v[i-a] ]++;
if( i-b-1 >= 0 )
ap[ v[i-b-1] ]--;
solution+=ap[ v[i] ];
}
return solution;
}
int main()
{
freopen("divk.out","w",stdout);
citire();
printf("%d", rezolva() );
return 0;
}