Pagini recente » Cod sursa (job #1519428) | Cod sursa (job #2950979) | Cod sursa (job #1293594) | Cod sursa (job #893857) | Cod sursa (job #995448)
Cod sursa(job #995448)
#include <cstdio>
using namespace std;
int n, k, a, b, x, i, j, in, remainder_f[100000];
long long sum[500001], nr;
int main()
{
freopen("divk.in", "r", stdin);
freopen("divk.out", "w", stdout);
scanf("%d %d %d %d", &n, &k, &a, &b);
for(i=1; i<=n; ++i)
{
scanf("%d", &x);
sum[i] = ( sum[i-1] + x%k ) % k;
if( !sum[i] && i>=a && i<=b)
++nr;
}
for(i=a; i<=n; ++i)
{
++remainder_f[ sum[i-a] ];
if(i >= b+1)
--remainder_f[ sum[i-b-1] ];
nr+=remainder_f[ sum[i] ];
}
printf("%lld\n", nr);
return 0;
}