Pagini recente » Cod sursa (job #1564451) | Cod sursa (job #2605913) | Cod sursa (job #458986) | Cod sursa (job #411660) | Cod sursa (job #923388)
Cod sursa(job #923388)
#include<stdio.h>
int a[500100],d[500100],v[100100],N,K,A,B;
long long s=0;
int main()
{
freopen("divk.in","r",stdin);
//freopen("divk.out","w",stdout);
scanf("%d%d%d%d",&N,&K,&A,&B);
for(int i=1;i<=N;++i)
{
scanf("%d",&a[i]);
a[i]=(a[i-1]+a[i]%K)%K;
}
int f=1;
int b=0;
for(int i=0;i<=N-A;++i)
{
++b;
d[b]=i;
++v[a[d[b]]];
if(d[f]<i+A-B)
{
--v[a[d[f]]];
++f;
}
s=s+v[a[i+A]];
for(int j=f;j<=b;++j)
printf("%d ",d[j]);
printf("\n");
}
printf("%lld",s);
}