Pagini recente » Cod sursa (job #196893) | Cod sursa (job #1436720) | Cod sursa (job #1935733) | Cod sursa (job #2235873) | Cod sursa (job #1476583)
#include <stdio.h>
#define MAX 500005
int n, i, j, k, x, a, b, K, s[MAX], r[MAX];
long long sol;
int main(){
freopen("divk.in", "r", stdin);
freopen("divk.out", "w", stdout);
scanf("%d%d%d%d", &n, &K, &a, &b);
r[0] = 1;
for(i = 1; i <= n; i++){
scanf("%d", &x);
s[i] = (s[i - 1] + x) % K;
}
for(i = a; i <= n; i++){
sol += r[s[i]];
r[s[i - a + 1]]++;
if(i >= b)
r[s[i - b]]--;
}
printf("%lld\n", sol);
return 0;
}