Pagini recente » Cod sursa (job #368037) | Cod sursa (job #2626661) | Cod sursa (job #860579) | Cod sursa (job #194213) | Cod sursa (job #615016)
Cod sursa(job #615016)
#include<stdio.h>
#define MaxN 500100
#define MaxK 100100
int N,K,nr,x,y,A[MaxN],B[MaxK];
int main()
{
FILE *f = fopen("divk.in","r");
FILE *g = fopen("divk.out","w");
fscanf(f,"%d %d %d %d",&N,&K,&x,&y);
for(int i=1;i<=N;i++)
{
fscanf(f,"%d ",&A[i]);
A[i] = (A[i-1]+A[i])%K;
}
for(int i=1;i<=N;i++)
{
if(i >= x)
B[A[i-x]] ++;
if(i > y)
B[A[i-y-1]] --;
nr += B[A[i]];
}
fprintf(g,"%d ",nr);
fclose(g);
fclose(f);
return 0;
}