Pagini recente » Cod sursa (job #2118912) | Cod sursa (job #231984) | Cod sursa (job #2248563) | Cod sursa (job #3136660) | Cod sursa (job #277889)
Cod sursa(job #277889)
#include <stdio.h>
int nr=0,v[500100],s[500100],q[500100],n,k,i,j,suma=0,a,b,x;
int main()
{
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
scanf("%d %d %d %d",&n,&k,&a,&b);
for (i=1;i<=n;++i)
{
scanf("%d", &s[i]);
suma+=s[i];
v[i]=suma;
}
/*for (i=1;i<n;++i)
{
suma=x=0;
for (j=i;j<=n;++j)
{
suma+=v[j];
x++;
if (suma%k==0 && x>=a && x<=b)
nr++;
else
if (x>b) break;
}
} */
for (i=1;i<=n;++i)
{
for (j=i-b;j<=i-a+1;++j)
v[j%k]++;
q[v[i-b+1]%k]--;
q[v[i-a+2]%k]++;
}
for (i=1;i<=n;++i)
nr+=q[v[i]%k];
printf("%d", nr);
return 0;
}