Pagini recente » Cod sursa (job #1103452) | Cod sursa (job #1712195) | Cod sursa (job #1725956) | Cod sursa (job #2835761) | Cod sursa (job #612409)
Cod sursa(job #612409)
#include <stdio.h>
const int DIMN = 500005, DIMK = 100005;
int V[DIMN], R[DIMK], N, K, Lmin, Lmax;
long long C;
void cit ()
{
freopen ("divk.in", "r", stdin);
freopen ("divk.out", "w", stdout);
scanf ("%d%d%d%d", &N, &K, &Lmin, &Lmax);
for (int i = 1, x; i <= N; i++)
{
scanf ("%d", &x);
V[i] = (V[i-1] + x) % K;
}
}
void rez ()
{
for (int i = Lmin; i <= N; i++)
{
R[V[i - Lmin]]++;
if (i > Lmax)
R[V[i - Lmax - 1]]--;
C += R[V[i]];
}
printf ("%lld", C);
}
int main ()
{
cit ();
rez ();
return 0;
}