Pagini recente » Cod sursa (job #28099) | Cod sursa (job #2633317) | Cod sursa (job #2437375) | Cod sursa (job #2171515) | Cod sursa (job #2350829)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 500004;
const int KMAX = 100004;
int N, K, A, B, sol;
long long S[NMAX], R[KMAX];
int main(){
freopen("divk.in", "r", stdin);
freopen("divk.out", "w", stdout);
scanf("%d%d%d%d", &N, &K, &A, &B);
for(int i = 1, x; i <= N; i++){
scanf("%d", &x);
S[i] = S[i - 1] + x;
if(i - B - 1 >= 0)
R[S[i - B - 1] % K]--;
if(i - A >= 0)
R[S[i - A] % K]++;
sol += R[S[i] % K];
}
printf("%lld", sol);
return 0;
}