AtCoder ABC 189 B – Python解説
AtCoder ABC 189 B
量と度数から、高橋君が摂取した量を求めます。摂取量がXmlを超えたら、flagをTrueにして何杯目かを答え、飲み終えた場合は-1を出力していきます。摂取量の求め方に注意を。
n, x = map(int, input().split())
flag = False
a = 0
for i in range(n):
v, p = map(int, input().split())
a += v * p
if a > x * 100:
flag = True
result = i + 1
break
print(result if flag else -1)
摂取量の求め方で、量*度数 / 100と計算すると、浮動小数点になり、おそらく不正解になってしまいます。ですので、上記のコードでは、量*度数を100で割るかわりに、xに100を掛けることで浮動小数点を回避しています。