from time import clock import sys def func(k,x,n): floor=[] for i in range(1,n+1): floor.append(i) beg=0 end=n-1 balls_used=0 mid=(beg+end)/2 while floor[mid]!=x and beg<=end: if floor[mid]>x: end=mid-1 else: beg=mid+1 mid=(beg+end)/2 balls_used=balls_used+1 memory_used=sys.getsizeof(beg)+sys.getsizeof(end)+sys.getsizeof(mid)+sys.getsizeof(i) return balls_used,memory_used f=open('in16_9.txt','r+') f1=open('out_16_9.txt','w') k,x,n=f.readline().split(",") start=clock() balls_used,memory_used=func(int(k),int(x),int(n)) ela=clock()-start f1.write('balls used : '+str(balls_used)+'\n'+'number of comparisons : '+str(balls_used)+'\n'+'memory used : '+str(memory_used)+'\ntime taken : '+str(ela)) f.close() f1.close()