CodeChef submission 108342 (PYTH) plaintext list. Status: TLE, problem H2, contest OCT09. By mcsharma1990 (mcsharma1990), 2009-10-11 05:19:21.
def find(main,item,ln): if item>=main[0][2]: return 0 if item<=main[ln][2]: return -1 up=ln lw=0 t=(up+lw)/2 while up-lw>1: if main[t][2]==item: return t if main[t][2]>item: lw=t else: up=t return up main=[] n=int(raw_input()) l=raw_input().split() l[0]=int(l[0]) l[1]=int(l[1]) l+=[l[1]/float(l[0]+10)] main.append(l) if n>1: l=raw_input().split() l[0]=int(l[0]) l[1]=int(l[1]) l+=[l[1]/float(l[0]+10)] if l[2]>main[0][2]: main.insert(0,l) else: main.append(l) if n>2: l=raw_input().split() l[0]=int(l[0]) l[1]=int(l[1]) l+=[l[1]/float(l[0]+10)] if l[2]>=main[0][2] and l[2]>=main[1][2]: main.insert(0,l) elif l[2]<=main[0][2] and l[2]<=main[1][2]: main.append(l) for i in range(0,n-3): l=raw_input().split() l[0]=int(l[0]) l[1]=int(l[1]) l+=[l[1]/float(l[0]+10)] pos=find(main,l[2],i) if pos==-1: main.append(l) else: main.insert(pos,l) mn=10000 for i in range(0,n/2): tp=(main[i][1]+main[n-i-1][1])/(main[i][0]+main[n-i-1][0]+20.0) if tp<mn: mn=tp print mn
Comments

