问题描述
小蓝,一位热爱阅读的青年,常常沉浸在书的世界里。
这天在他逛书店的时候,发现书店里的每一类书籍都有一定的库存数量,而且部分书籍还被贴上了特别的标签。这些标签往往是一些负面评价,比如“印刷存在错误”或者“页码混乱”等等。
小蓝仔细观察了每个书架,并记录下了每类书籍的库存总数以及被贴特别标签的数量。现在,他需要你的帮助来分析这些数据,找出哪一类书籍被贴上特别标签的比例最低,即从该类书籍中随机选择一本时,拿到带有特别标签书籍的概率最小。
输入格式
输入的第一行包含一个整数 N(1≤N≤10^5),表示书籍的类别数量。
接下来的 N行,每行包含两个整数 ti 和 pi (1≤pi≤ti≤100),分别表示第 i类书籍的库存总数和被贴特别标签的数量。
输出格式
输出一个整数,表示被贴特别标签比例最低的书籍类别的索引(索引从 1开始)。如果有多个答案,则输出索引值最小的那个。
样例输入
3
20 5
30 8
40 10
样例输出
1
样例说明
第 1 类书籍和第 3 类书籍被贴上特别标签的比例最低,为 25% 。由于 1索引值更小,因此输出 1 。
代码
import os
import sys
# 读取输入的整数 n,表示书籍的类别数量
n = int(input())
# 初始化最小比例对应的书籍类别索引为 0
min_index = 0
# 初始化最小比例为 1,因为比例范围是 0 到 1,设为 1 方便后续比较更新
min_bl = 1
# 使用 for 循环遍历每一类书籍,i 从 1 到 n 代表书籍类别索引
for i in range(1, n + 1):
# 读取当前类书籍的库存总数 ti 和被贴特别标签的数量 pi
ti, pi = map(int, input().split())
# 判断被贴特别标签的数量 pi 是否大于 0
if pi > 0:
# 如果大于 0,计算当前类书籍被贴特别标签的比例
bl = pi / ti
else:
# 如果等于 0,说明该类书籍没有被贴特别标签的,比例设为 0
bl = 0
# 判断当前计算出的比例 bl 是否小于之前记录的最小比例 min_bl
if bl < min_bl:
# 如果小于,更新最小比例为当前比例 bl
min_bl = bl
# 同时更新最小比例对应的书籍类别索引为当前索引 i
min_index = i
# 输出被贴特别标签比例最低的书籍类别的索引
print(min_index)