Pagini recente » Cod sursa (job #1823186) | Cod sursa (job #1461922) | Cod sursa (job #2919992) | Cod sursa (job #1561311) | Cod sursa (job #1775722)
#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;
int 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;
}