Pagini recente » Cod sursa (job #3254986) | Cod sursa (job #2085720) | Cod sursa (job #877893) | Cod sursa (job #1361451) | Cod sursa (job #2618025)
#include <fstream>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
const int N=500005;
int sp[N], divk[N];
int main()
{
int x, n, i, k, a, b, poz;
long long sum=0;
in>>n>>k>>a>>b;
for (i=1; i<=n; i++)
{
in>>x;
sp[i]=sp[i-1]+x;
sp[i]%=k;
}
i=1;
while (i<=n)
{
if (i>=a)
{
poz=i-a;
divk[sp[poz]]++;
}
if (i>b)
{
poz=i-b-1;
divk[sp[poz]]--;
}
sum+=divk[sp[i]];
i++;
}
out<<sum<<'\n';
return 0;
}