• 期末总评


    题目描述

    贝西参加了 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
  • 相关阅读:
    Enum.GetUnderlyingType(obj.GetType())
    Out,ref,params修饰符,可选参数,命名参数
    Linq
    var
    checked,unchecked
    StringBuilder.sb.AppendLine();
    js改变css样式的三种方法
    flex的用途
    clip-path
    json 对象 数组
  • 原文地址:https://www.cnblogs.com/gshdyjz/p/7263550.html
Copyright © 2020-2023  润新知