Pagini recente » Cod sursa (job #2726110) | Cod sursa (job #826539) | Cod sursa (job #740554) | Cod sursa (job #1130339) | Cod sursa (job #2462714)
#include <bits/stdc++.h>
using namespace std;
long long ap[500005];
long long v[500005];
long long f[10000002];
ifstream in("divk.in");
ofstream out("divk.out");
int main()
{
long long n,k,a,b,i,ans=0;
in>>n>>k>>a>>b;
for(i=1;i<=n;i++)
{
in>>v[i];
ap[i]=(ap[i-1]+v[i])%k;
}
for(i=a;i<=b;i++)
{
f[ap[i-a]]++;
if(i>=a)
ans+=f[ap[i]];
}
for(i=b+1;i<=n;++i)
{
f[ap[i-a]]++;
f[ap[i-b-1]]--;
ans+=f[ap[i]];
}
out<<ans;
return 0;
}