Pagini recente » Cod sursa (job #1872222) | Cod sursa (job #2701015) | Cod sursa (job #694896) | Borderou de evaluare (job #1053669) | Cod sursa (job #1978395)
#include <bits/stdc++.h>
#define ll long long
#define Nmax 500002
#define Kmax 100002
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int N, K, A, B;
int S[Nmax];
int F[Kmax];
int i;
ll cnt;
int main()
{
fin >> N >> K >> A >> B;
for(i = 1; i <= N; i++)
{
fin >> S[i];
S[i] = (S[i - 1] + S[i]) % K;
if(i > B)
F[S[i - B - 1]]--;
if(i >= A)
F[S[i - A]]++;
cnt += F[S[i]];
}
fout << cnt << "\n";
return 0;
}