Pagini recente » Cod sursa (job #2978453) | Cod sursa (job #2590495) | Cod sursa (job #3207732) | Cod sursa (job #1950730) | Cod sursa (job #1775728)
#include <fstream>
using namespace std;
int N,K,A,B;
int a[500005];
int rmod[500005];
int rest[100005];
int main()
{
ifstream fin("divk.in");
ofstream fout("divk.out");
fin >> N >> K >> A >> B;
for (int i = 1; i <= N; i++)
fin >> a[i];
rmod[N] = a[N] % K;
for (int j = N-1; j >= 1; j--)
rmod[j] = (a[j] + rmod[j+1]) % K;
long long Sol = 0;
for (int i = N; i >= 1; i--) {
if (i <= N - A + 1)
rest[rmod[i+A]]++;
if (i < N - B + 1)
rest[rmod[i+B+1]]--;
Sol += rest[rmod[i]];
}
fout << Sol;
}