Pagini recente » Cod sursa (job #120420) | Cod sursa (job #1701239) | Cod sursa (job #869321) | Cod sursa (job #824097) | Cod sursa (job #462568)
Cod sursa(job #462568)
# include <cstdio>
const char FIN[] = "divk.in", FOU[] = "divk.out";
const int MAX = 500005;
int sum[MAX], V[MAX];
int N, K, A, B, vec;
long long T;
int main ()
{
freopen ( FIN, "r", stdin ) ;
freopen ( FOU, "w", stdout ) ;
scanf ( "%d %d %d %d", &N, &K, &A, &B);
for (int i = 1; i <= N; ++i)
{
scanf ( "%d", &vec ), sum[i] = ( sum[i - 1] + vec ) % K;
i > B ? --V[ sum[i - B - 1] ] : 0 ;
i >= A ? ++V[ sum[i - A] ] : 0 ;
T += V[ sum[ i ] ];
}
printf ( "%lld", T );
return 0;
}