Pagini recente » Cod sursa (job #1538873) | Cod sursa (job #191542) | Cod sursa (job #254750) | Cod sursa (job #1352860) | Cod sursa (job #2777344)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
vector<long long>v[100001];
int main()
{
long long n,a,b,i,x,k;
long long s=0,nr=0;
v[0].push_back(0);
fin>>n>>k>>a>>b;
for(i=1;i<=n;i++)
{
fin>>x;
s=s+x;
s%=k;
v[s].push_back(i);
}
for(i=0;i<=k;i++)
{
if(v[i].size()>=2)
{
//cout<<i<<" ";
int p1,p2=1;
for(p1=0;p1<v[i].size()-1;p1++)
{
while(p2<v[i].size()&&v[i][p1]+b>=v[i][p2])
{
if(v[i][p1]+a<=v[i][p2])
{
nr++;
//cout<<p1<<" "<<p2<<" ";
}
p2++;
}
if(p2==v[i].size())
p2--;
}
//cout<<endl;
}
}
fout<<nr;
}