Pagini recente » Cod sursa (job #2723280) | Cod sursa (job #2723143) | Cod sursa (job #2182386) | Cod sursa (job #59642) | Cod sursa (job #1515276)
#include <iostream>
#include <fstream>
#define nmax 500005
using namespace std;
FILE* fin=fopen("divk.in","w");
ofstream fout("divk.out");
long r[nmax];
int main()
{long n,k,a,b,i,j,x,fina;
long long nr=0;
fscanf(fin,"%ld%ld%ld%ld",&n,&k,&a,&b);
r[0]=0;
for(i=1;i<=n;i++)
{
fscanf(fin,"%ld",&x);
r[i]=(x%k+ r[i-1])%k;
if(a<=1 && r[i]==0)nr++;
}
for(i=1;i<=n-a+1;i++)
{fina=min(i+b-1,n);
for(j=i+a;j<=fina;j++)
if(r[j]==r[i])++nr;
}
fout<<nr;
}