Cod sursa(job #277851)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 11 martie 2009 22:33:07
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>

int q[500100],nr,v[500100],n,k,i,j,suma,a,b,x;

int main()
{
 freopen("divk.in","r",stdin);
 freopen("divk.out","w",stdout);

 scanf("%d %d %d %d",&n,&k,&a,&b);
 for (i=1;i<=n;++i)
      scanf("%d", &v[i]);

 nr=0;
 /*for (i=1;i<=n;++i)
 {
  suma=0;
  x=0;
  for (j=i;j<=n;++j)
  {
     suma+=v[j];
     x++;
     if (suma%k==0 && x>=a && x<=b)
	 nr++;
  }
 } */
 for (i=1;i<=n;++i)
     {
      q[v[i-b+1]%k]--;
      q[v[i-a+2]%k]++;
     }
 for (i=1;i<=n;++i)
      nr+=q[v[i]%k];

 printf("%d", nr);
 return 0;
}