A172803.训练营排名

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:256MB

题目描述

Yuilice 正在公布欢乐训练营的最终排名。训练营有 nn 名学员,每名学员有一个互不相同的编号、三项训练分数和一个用时。

一名学员的有效分等于三项分数中最高两项的和。满分项数量等于三项分数中等于 100100 的项数。

“最高两项”可以分数相同。

请帮助 Yuilice 按照下列规则对学员排序:

  1. 有效分更高的排在前面;
  2. 有效分相同时,满分项数量更多的排在前面;
  3. 前两项都相同时,用时更少的排在前面;
  4. 前三项都相同时,编号更小的排在前面。

比较两名学员时,从第一条规则开始;只有这一项相同,才继续看下一条。一旦某条规则分出了先后,后面的规则就不再影响这两人的顺序。

输入格式

第一行输入一个整数 nn。

接下来 nn 行,每行输入五个整数 id s1 s2 s3 time,依次表示编号、三项训练分数和用时。

输出格式

按照排名顺序输出 nn 行。每行输出学员编号和有效分,中间用一个空格分隔。

输入输出样例

  • 输入#1

    5
    101 100 80 70 30
    102 90 90 90 20
    103 100 80 70 40
    104 100 100 0 50
    105 100 100 0 50
    

    输出#1

    104 200
    105 200
    101 180
    103 180
    102 180
    
  • 输入#2

    4
    24 100 80 60 30
    21 90 90 0 10
    23 100 80 0 20
    22 100 80 70 20
    

    输出#2

    22 180
    23 180
    24 180
    21 180
    

说明/提示

样例 #1 解释

根据样例中的三项分数,得到:

编号 最高两项之和(有效分) 满分项数量 用时
101 100+80=180100+80=180 1 30
102 90+90=18090+90=180 0 20
103 100+80=180100+80=180 1 40
104 100+100=200100+100=200 2 50
105 100+100=200100+100=200 2 50

先看有效分:104104 和 105105 都是 200200 分,排在三个 180180 分的学员之前。这两人的满分项数量和用时也相同,最后比较编号,104104 在前。

再看有效分为 180180 的三人:101101 和 103103 各有一项满分,排在没有满分项的 102102 之前。101101 和 103103 的满分项数量相同,再比较用时,3030 小于 4040,所以 101101 在前。102102 的用时虽然更少,但不能越过前面的满分项数量规则。

最终编号顺序为 104104、105105、101101、103103、102102;每行再附上对应有效分,得到样例输出。

数据范围

对于所有测试数据,满足:

  • 1≤n≤1051\le n\le 10^5;
  • 1≤id≤1091\le id\le 10^9,所有编号互不相同;
  • 0≤s1,s2,s3≤1000\le s1,s2,s3\le100;
  • 0≤time≤1090\le time\le10^9。

输入解题思路,AI测评打分。不知道怎么写?

首页