题目描述
小明去超市买商品,买了N件,每件商品的价格都是整数(价格不会全都一样),小明想知道这N件商品中,最贵商品和最便宜商品分别有几个(最贵和最便宜分别可以有多个)?请你编写程序帮忙小明计算。
输入
第1行有一个整数n(n<=100)
第2行有n个整数,用空格隔开。
输出
输出2个整数,用空格隔开,第1个整数代表最贵的商品有几个,第2个整数代表最便宜的商品有几个。
样例输入
6 12 3 3 15 34 17
样例输出
1 2
代码如下
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int c1 = 1; // 最贵数量
int c2 = 1; // 最便宜数量
int max = 0;
int min = 10000000;
while (n--) // 商品数量
{
int a;
cin >> a;
if (max < a) // 最贵
{
max = a;
c1 = 1; // 有新最大值时重置计数器
}
else if (max == a) // 有多个最贵
{
c1++;
}
if (min > a) // 最便宜
{
min = a; // 有新的最小值时重置计数器
c2 = 1;
}
else if (min == a)
{
c2++;
}
}
cout << c1 << " " << c2 << endl;
return 0;
}