Pagini recente » Cod sursa (job #1393999) | Cod sursa (job #2502204) | Cod sursa (job #359360) | Cod sursa (job #1701304) | Cod sursa (job #2359510)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
const int NMAX=500005;
const int KMAX=100005;
long long A, B, K, N, solutie;
long long sums[NMAX];
int remainders[KMAX];
int main()
{
fin>>N>>K>>A>>B;
for (int i=1, x; i<=N; i++)
{
fin>>x;
sums[i]+=sums[i-1]+x;
if (i-B-1>=0)
remainders[sums[i - B - 1] % K]--;
if (i - A >= 0)
remainders[sums[i - A] % K]++;
solutie+=remainders[sums[i]%K];
}
fout<<solutie;
}