ให้ reviews=[[5-star, total]] และ threshold% หา 5-star เพิ่มเติมน้อยสุดทำให้ % ≥ Threshold
ตัวอย่าง: reviews=[[3,4],[1,2],[4,6]], t=78 → 7 (รวม 8/12=66.7% → ต้องการ 7 เพิ่ม → 15/19=78.9%)
ขั้นตอน (Math)
- รวม
a=sum(5-star), b=sum(total) - ถ้า
a*100 ≥ t*b: 0 delta = t*b - 100*a- คืน
(delta + (99-t)) // (100-t)(Ceiling Division)
ตัวอย่างโค้ด
def solve(reviews, t):
a = b = 0
for c, d in reviews:
a += c
b += d
if a * 100 >= t * b:
return 0
delta = t * b - 100 * a
return (delta + (99 - t)) // (100 - t)
reviews = [[3,4],[1,2],[4,6]]
t = 78
print(solve(reviews, t)) # Output: 7อินพุต
[[3, 4], [1, 2],[4, 6] ],78
เอาต์พุต
7