【2019秋PAT乙级真题】7-2 教超冠军卷 (20 分)

2019-11-08 09:38:37 浏览数 (1)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/shiliang97/article/details/100634439

7-2 教超冠军卷 (20 分)

“教育超市”是拼题 A 系统的一个衍生产品,发布了各种试卷和练习供用户选购。在试卷列表中,系统不仅列出了每份试卷的单价,还显示了当前的购买人次。本题就请你根据这些信息找出教育超市所有试卷中的销量(即购买人次)冠军和销售额冠军。

输入格式:

输入首先在第一行中给出一个正整数 N(≤10​4​​),随后 N 行,每行给出一份卷子的独特 ID (由小写字母和数字组成的、长度不超过8位的字符串)、单价(为不超过 100 的正整数)和购买人次(为不超过 10​6​​ 的非负整数)。

输出格式:

在第一行中输出销量冠军的 ID 及其销量,第二行中输出销售额冠军的 ID 及其销售额。同行输出间以一个空格分隔。题目保证冠军是唯一的,不存在并列。

输入样例:

4

zju007 39 10

pku2019 9 332

pat2018 95 79

qdu106 19 38

输出样例:

pku2019 332

pat2018 7505

默认的max变量都最好设置成-1,min都设置成第一个数据,防止有个恶心的测试点,整一个数据为0的幺蛾子。

总的来说还是选择大于努力,选对了用-1,我做的时候都没想过会出现这种测试点...也不用去考虑直接避坑

3-4分钟做完这道题....提交一遍就过了

代码语言:javascript复制
#include<iostream>
using namespace std;
int main(){
	string s,mn,mm;
	int maxnum=-1,maxmoney=-1;
	int a;
	cin>>a;
	for(int i=0;i<a;i  ){
		string id;
		int num;
		int danjia;
		cin>>id>>num>>danjia;
		if(danjia>maxnum){
			maxnum=danjia;
			mn=id;
		}if(num*danjia>maxmoney){
			maxmoney=num*danjia;
			mm=id;
		}
	}
	cout<<mn<<" "<<maxnum<<endl<<mm<<" "<<maxmoney;
	
	return 0;
}

0 人点赞