Pagini recente » Cod sursa (job #1796269) | Cod sursa (job #136667) | Cod sursa (job #843926) | Cod sursa (job #597945) | Cod sursa (job #248066)
Cod sursa(job #248066)
#include<stdio.h>
#define NM 500001
#define RM 100001
int n;
int r[RM];
int main(){
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
int i,k,a,b,x,k5,l,v[NM];
long long nrs=0L;
char sir[20],*p;
scanf("%d%d%d%d\n",&n,&k,&a,&b);
k5=10*k;
l=b-a;
for(i=1;i<=n;++i){
fgets(sir,20,stdin);
x=0;p=sir;
while(*p!='\n'&&*p) x=10*x+(*p-48),p++;
v[i]=v[i-1]+x;
if(v[i]>=k5) v[i]=v[i]%k;
else while(v[i]>=k) v[i]-=k;
}
for(i=a;i<=n;++i){
if(i>b) r[v[i-b-1]]--;
r[v[i-a]]++;
nrs+=r[v[i]];
}
printf("%lld",nrs);
return 0;
}