Pagini recente » Monitorul de evaluare | Cod sursa (job #2009642) | Cod sursa (job #3164476) | Statistici Bogdan Zsolt (Bogdy95) | Cod sursa (job #615020)
Cod sursa(job #615020)
#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;
}