Pagini recente » Cod sursa (job #1830042) | Cod sursa (job #1502737) | Cod sursa (job #1879300) | Cod sursa (job #2637437) | Cod sursa (job #1204022)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int n, a, b, k, x;
long long s[500001], v[500001];
long long nr;
int main()
{
fin >> n >> k >> a >> b;
for ( int i = 1; i <= n; ++i )
{
fin >> x;
s[i] = (s[i-1] + x) % k;
}
for ( int i = 1; i <= n; i++)
{
if ( i >= a )
v[s[i - a]]++;
if ( i > b )
v[s[i - b - 1]]--;
nr += v[s[i]];
}
fout << nr;
return 0;
}