Pagini recente » Cod sursa (job #1226658) | Cod sursa (job #2720493) | Diferente pentru preoni-2007 intre reviziile 25 si 24 | Cod sursa (job #2335417) | 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;
}