Pagini recente » Cod sursa (job #1430805) | Cod sursa (job #2789814) | Cod sursa (job #3293968) | Cod sursa (job #297629) | Cod sursa (job #503151)
Cod sursa(job #503151)
#include <cstdio>
#define FIN "divk.in"
#define FOUT "divk.out"
#define MAX 500001
#define KMAX 100001
int N, K, A, B, R;
int V[MAX], S[MAX], C[KMAX];
int main()
{
int i;
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%d%d%d%d", &N, &K, &A, &B);
for (i = 1; i <= N; ++ i)
{
scanf("%d", &V[i]);
S[i] = (S[i - 1] + V[i]) % K;
}
for (i = A; i <= N; ++ i)
{
++ C[S[i - A]];
if (i > B)
-- C[S[i - B - 1]];
R += C[S[i]];
}
printf("%d\n", R);
}