Cod sursa(job #502897)
| Utilizator | Data | 20 noiembrie 2010 18:32:55 | |
|---|---|---|---|
| Problema | Divk | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.41 kb |
#include<stdio.h>
int n,k,a,b,v[500001],i,l,j;
long long int nr;
FILE *fin,*fout;
int main(){
fin=fopen("divk.in","r");
fout=fopen("divk.out","w");
fscanf(fin,"%d %d %d %d",&n,&k,&a,&b);
for(i=1;i<=n;i++){
fscanf(fin,"%d",&v[i]);
v[i]+=v[i-1];
}
for(i=1;i<=n-a+1;i++){
for(j=i+a-1;j<=i+b-1 && j<=n;j++){
if((v[j]-v[i-1])%k==0)
nr++;
}
}
fprintf(fout,"%lld",nr);
return 0;}