Cod sursa(job #47856)
Utilizator | Tzogorean Alex the_dragon_of_rock | Data | 4 aprilie 2007 09:50:44 |
---|---|---|---|
Problema | Divk | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.85 kb |
#include<stdio.h>
int s[500005];
int n,a,b,k;
int main()
{
FILE *f=fopen("divk.in","r");
int x,i;
int y;
fscanf(f,"%d %d %d %d",&n,&k,&a,&b);
for(i=1;i<=n;i++)
{
fscanf(f,"%d",&x);
s[i]=(s[i-1]+x)%k;
}
int j;
FILE *g=fopen("divk.out","w");
long long int t=0;
for (i=0;i<=n-a;i++)
{
if (i+b<n)
x=i+b;
else
x=n;
for (j=i+a,y=s[i];j<=x;j++)
if ((s[j]-y)%k==0)
{
t++;
//fprintf(g,"%d %d \n",i,j);
}
}
fprintf(g,"%lld",t);
return 0;
}