问题遇到的现象和发生背景
题目
提交记录
成绩查询系统
难度:青铜时间限制:1秒 占用内存:128 M
作为课程助教的小码哥,有一个伟大的任务:统计整理同学们的成绩,以供同学和teachers查询。
但是小码哥觉得手动整理以及手动回复同学们的查询太慢了,于是便有了设计一个成绩查询系统来自动回复同学查询成绩的念头。
当前课程的成绩设定为:总分100分=70分考试分+30分平时表现分。课程成绩需要降序排序(从高到低),其中排序时先按照总分比较,总分一致者比较考试分,前两者都一致时比较学生的id号码(都是降序,从高到低排)。
该成绩查询系统需要回复两类不同的查询。
第一类的格式为: 1 id号
表示学生的查询,系统需要回复该id号对应学生的总分以及排名。
第二类查询的格式为:2某个分数
表示其他查询,系统需要回复总分大于等于该分数的人数(若无,则输出O)。
格式
输入格式:输入的第一行是一个整数n(1≤n ≤103),表示学生人数。
接下来 n行,每行三个空格隔开的整数,分别为: id号码(1≤id ≤ 107),该学生考试分(0≤考试分≤70),该学生平时表现分(0≤平时表现分≤30)。
接下来一行一个整数q(1≤q≤103),表示询问个数。
接下来q行,每行为一个询问,其中询问格式已经在题面中给出,保证询问中的 id号有效。
输出格式:对于每个询问,输出一行对应的回复:
对于第一类询问,需要输出一行两个整数(用空格隔开);对于第二类询问,需要输出一行一个整数。
其中具体含义如题面描述所示。
我的解答思路和尝试过的方法
建立stu结构体,用不同变量表示id、考试分、平时分、总分和名次;
我想要达到的结果
样例1
输入:
5
10086 0 0
1 70 0
10000000 40 20
2 30 30
3 30 30
8
1 10086
1 1
1 10000000
1 2
1 3
2 60
2 70
2 61
输出:
0 5
70 1
60 2
60 4
60 3
4
1
1