Pagini recente » Cod sursa (job #1167537) | Cod sursa (job #360837) | Cod sursa (job #2966539) | Cod sursa (job #857121) | Cod sursa (job #1309029)
#include <stdio.h>
int n,a,b,k;
int sum[500001];
int d[500001];
int main()
{
FILE *fin,*fout;
fin=fopen("divk.in","r");
fout=fopen("divk.out","w");
fscanf(fin,"%d%d%d%d",&n,&k,&a,&b);
for(int i=1;i<=n;i++)
{
fscanf(fin,"%d",&sum[i]);
sum[i]+=sum[i-1];
if(sum[i]>=k) sum[i]%=k;
}
long long cnt = 0;
for(int i = 1; i <= n; ++i)
{
if(i - a >= 0)
d[sum[i-a]]++;
if(i - b > 0)
d[sum[i-b-1]]--;
cnt += d[sum[i]];
}
fprintf(fout,"%lld\n",cnt);
fclose(fin);
fclose(fout);
return 0;
}