Pagini recente » Cod sursa (job #1957466) | Borderou de evaluare (job #547029) | Cod sursa (job #2404412) | Cod sursa (job #342578) | Cod sursa (job #93473)
Cod sursa(job #93473)
#include<stdio.h>
int main(){
int v[500000],n,k,a,b,i,z,x,y=0;
long long s,ss=0;
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
scanf("%d%d%d%d",&n,&k,&a,&b);
for (i=0;i<n;++i)
scanf("%d",&v[i]);
for (i=0;i<a;++i)
ss=(ss+v[i])%k;
for (z=a-1;z<b;++z){
s=0;x=0;ss+=v[z];s=ss;
if (s%k==0)
++x;
for (i=z+1;i<n;++i){
s=(s-v[i+1-z])%k;
s=(s+v[i+1])%k;
if (s==0)
++x;
}
y+=x;
}
printf("%d\n",y);
return 0;
}