Pagini recente » Cod sursa (job #598492) | Cod sursa (job #1406357) | Cod sursa (job #400190) | Cod sursa (job #2788819) | Cod sursa (job #1673097)
#include <cstdio>
using namespace std;
//ifstream f ("divk.in");
//ofstream g ("divk.out");
FILE *f, *g;
int n, k, a, b, i, x, m, j, r, ap[100000];
long long s[500001], S;
int main ()
{
freopen("divk.in", "r", stdin);
freopen("divk.out", "w", stdout);
scanf("%d%d%d%d", &n, &k, &a, &b);
m=0;
for (i=1; i<=n; i++){
scanf("%d", &x);
s[i]=s[i-1]+x;
r=s[i]%k;
if (ap[r]>0||r==0){
for (j=a; j<=b; j++){
if (j<=i){
S=s[i]-s[i-j];
if (S%k==0) {
m++;
// g << i << " " << j << '\n';
}
}
else break;
}
}
ap[r]=i;
}
printf("%d", m);
return 0;
}