Pagini recente » Cod sursa (job #396607) | Cod sursa (job #2042715) | Cod sursa (job #1380553) | Cod sursa (job #1852610) | Cod sursa (job #30999)
Cod sursa(job #30999)
#include <stdio.h>
struct Nod {
unsigned int inf;
Nod * leg;
};
typedef Nod * PNod;
PNod lista,ul;
int addnod(unsigned int x) {
PNod p;
p=new Nod;
p->inf=x;
p->leg=NULL;
ul->leg=p;
ul=p;
return 1;
}
int main() {
unsigned int A,B,N,K,v,nr=0,l,poz,nn,suma;
PNod gg,ggg,start;
freopen("divk.in","r",stdin);
scanf("%d %d %d %d",&N,&K,&A,&B);
lista=new Nod;
lista->inf=0;
lista->leg=NULL;
ul=lista;
for (int i=0;i<N;i++) { scanf("%d",&v); addnod(v); }
fclose(stdin);
start=lista->leg;
poz=0;
while((start)&&(poz<=N-A)) {
suma=0;
ggg=start; nn=1;
while ((ggg)&&(nn<=A-1)) {
suma=suma+ggg->inf; //primele A-1
nn++;
ggg=ggg->leg;
}
gg=ggg; l=nn-1;
while ((gg)&&(l<=B)) {
suma=suma+gg->inf;
if (suma%K==0) nr++;
l++;
gg=gg->leg;
}
start=start->leg;
poz++;
}
freopen("divk.out","w",stdout);
printf("%d",nr);
fclose(stdout);
return 0;
}