Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 19-02-19 traccia B
- ALGOIT(A,x,y,z)
- STZ=STY=STA=STVAL=LAST=NIL
- cx=x ; cy =y
- while(cx <= cy || sty!=NIL)do
- if(cx<=cy)then
- val=0
- z=cx+cy/2
- if(A[z]=k)then
- val=1
- stval=push(stval,val)
- stz=push(stz,z)
- sty=push(sty,cy)
- cy=z-1
- else
- val=top(stval); z=top(stz); cy=top(sty)
- if(last!=cy)then
- a=val
- sta=push(sta,a)
- if(a>val)then
- cx=z+1 //preparo prossima chiamata
- else
- b=a+val
- val=val+a+b
- last=cx
- cx=cy+1
- pop(vari)
- else
- b=val
- val=val+top(sta)+b
- last=cx
- cx=cy+1
- val=ret
- pop(vari)
- return val
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement