Cod sursa(job #222642)

Utilizator Bogdan_CCebere Bogdan Bogdan_C Data 23 noiembrie 2008 23:56:19
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
using namespace std;
FILE *in,*out;

 long n,k,a,b,sum[500007],sir[500007],i,aux,contor,j,q;;
 struct rest
 {int nr,*fii;} div[100007];
int main()
{in=fopen("divk.in","r");
fscanf(in,"%d %d %d %d",&n,&k,&a,&b);
sum[0]=0; contor=0;
for(i=0;i<=k;i++) div[i].nr=0;
for(i=1;i<=n;i++)
 {fscanf(in,"%d",&sir[i]);sum[i]=sum[i-1]+sir[i];
  (div[sum[i]%k].nr)++;aux=div[sum[i]%k].nr;
    div[sum[i]%k].fii[aux]=i;
   }
for(i=0;i<=k;i++)
 for(j=1;j<=div[i].nr;j++)
  for(q=j;q<=div[i].nr;q++)
    {if(a<(div[i].fii[k]-div[i].fii[j]+1)&&(div[i].fii[k]-div[i].fii[j]+1)<b) contor++; }
   out=fopen("divk.out","w");
   fprintf(out,"%d",contor);




      return 0;
}