Pagini recente » Cod sursa (job #1872227) | Cod sursa (job #2074398) | Cod sursa (job #1044963) | Cod sursa (job #1123741) | Cod sursa (job #196003)
Cod sursa(job #196003)
#include<stdio.h>
#define NMAX 500001
int main(){
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
long int v[NMAX],d;
int n,i,j,nrs=0,k,a,b,x,f;
scanf("%d%d%d%d",&n,&k,&a,&b);
v[0]=0UL;
for(i=1;i<=n;++i){
scanf("%d",&x);
if(x>=k) x=x%k;
v[i]=v[i-1]+x;
if(v[i]>=k) v[i]=v[i]-k;
}
for(j=a;j<=b;++j)
for(i=j;i<=n;++i){
d=v[i]-v[i-j];
if(d<0) d=-d;
if(d==0||d==k) {nrs++;
/* for(f=i-j+1;f<=i;++f)
printf("%llu ",v[f]-v[f-1]);
printf("\n");*/
}
}
printf("%d",nrs);
return 0;
}