Lang:Python2
Edit1234567891011121314151617181920212223242526Tasks = int(raw_input().strip())def test(Ans, W,H, p_l):line_c = W/Ansline_p = H/Ansif line_c==0 or line_p==0:return 1000002line_n = 0for p in p_l:line_n += (p+line_c-1)/line_creturn (line_n+line_p-1)/line_pfor __ in range(Tasks):N,P,W,H = map(int, raw_input().strip().split(" "))p_l = map(int, raw_input().strip().split(" "))minA, maxA = 0, 1000001while maxA>minA:midA = (maxA+minA)/2 + 1tA = test(midA,W,H,p_l)if tA>P:maxA = midA-1else:minA = midAprint minA