期末总评

题目描述

贝西参加了 N 门考试。第 i 门考试的满分为 P i ,贝西的得分为 T i 。学校计算总评分的方法是将
每门考试的得分之和作为分子,满分之和作为分母,以它们的比值作为总评分。
根据学校的政策,在计算总评分的时候,贝西可以选择取消 D 门考试的成绩,这样可以使剩下
的考试得到更高的总评分。老师想当然地把贝西得分率最低的 D 门考试去掉了(得分率就是一门考
试的得分与满分之比)。
然而贝西一眼就看出老师这么做是有问题的。贝西知道,对于不同的 D,去掉得分率最低的考试
不见得是最好的选择。请帮助贝西算算,当 D 取 1 到 N − 1 之间的整数时,哪些 D 可能造成这样惊
人的效果?
贝西还注意到一件有意思的事情,她所有考试的得分率都是不同的。

输入

• 第一行:单个整数 N,1 ≤ N ≤ 50000
• 第二行到第 N + 1 行:第 i + 1 行有两个整数 H i 和 W i ,0 ≤ T i ≤ P i , 1 ≤ P i ≤ 40000

输出

• 第一行:单个整数 K,表示 D 有多少种取值方法,会造成老师的选择不是最优的
• 第二行到第 K + 1 行:每行一个整数,表示一个让老师犯错的 D 的取值,这些值必须以升序输

样例输入

5 1 2 5 9 3 8 4 10 1 3

样例输出

2 1 2

提示

D = 1 时,去掉 1/3 不如去掉 3/8;D = 2
时,去掉 1/3 和 3/8 不如去掉 3/8 和 4/10


反例构造。假设最优的分数是一个权值很大的满分,另外两次考试都不及格,则应该取权重较小
的,而不是分数较高的。
最优值可用二分搜索计算,见日本人书。
PEACE
原文地址:https://www.cnblogs.com/gshdyjz/p/7263550.html