Pagini recente » Cod sursa (job #587749) | Cod sursa (job #1115239) | Cod sursa (job #2628736) | Cod sursa (job #807814) | Cod sursa (job #483075)
Cod sursa(job #483075)
#include <stdio.h>
#define NMax 5000000
#define KMax 1000000
const char IN[] ="divk.in";
const char OUT[] ="divk.out";
int start,end,N,K,A,B;
int a[NMax+10];
int S[NMax+10],c[KMax+10];
int main()
{
int i,s,Rez;
freopen(IN,"r",stdin);
freopen(OUT,"w",stdout);
scanf("%d%d%d%d",&N,&K,&A,&B);B++;
start=0;end=-1;
s=Rez=0;
for (i=1;i<=N;i++)
{
scanf("%d",&a[i]);
S[i] = (S[i-1]+a[i])%K;
}
for (i=A;i<=N;i++)
{
c[ S[i-A] ]++;
if (i>=B) c[S[i-B]]--;
Rez+= c[S[i]];
}
printf("%d\n",Rez);
fclose(stdin);
fclose(stdout);
return 0;
}