Cod sursa(job #148972)
Utilizator | Data | 5 martie 2008 09:39:30 | |
---|---|---|---|
Problema | Divk | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include<stdio.h>
int v[500001],n,k,a,b,i,j,x,nr;
int main(){
FILE *f=fopen("divk.in","r");
fscanf(f,"%d %d %d %d",&n,&k,&a,&b);
for(i=1;i<=n;i++){
fscanf(f,"%d",&x);
v[i]=(v[i-1]+x)%k;
}
fclose(f);
for(i=n;i>=1;i--){
if(i-a<0)break;
for(j=i-a;j>=i-b&&j>=0;j--){
if(v[i]-v[j]==0)
nr++;
}
}
FILE *g=fopen("divk.out","w");
fprintf(g,"%d",nr);
fclose(g);
return 0;
}