hiho week 148 register

Ended

Participants:382

Verdict:Accepted
Score:100 / 100
Submitted:2017-05-04 21:10:38

Lang:Python2

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Tasks = int(raw_input().strip())
def test(AnsW,Hp_l):
    line_c = W/Ans
    line_p = H/Ans
    if line_c==0 or line_p==0:
        return 1000002
    line_n = 0
    for p in p_l:
        line_n += (p+line_c-1)/line_c
    return (line_n+line_p-1)/line_p
for __ in range(Tasks):
    N,P,W,H = map(intraw_input().strip().split(" "))
    p_l = map(intraw_input().strip().split(" "))
    minAmaxA = 01000001
    while maxA>minA:
        midA = (maxA+minA)/2 + 1
        tA = test(midA,W,H,p_l)
        if tA>P:
            maxA = midA-1
        else:
            minA = midA
    print minA
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX