ZZULIOJ--1250: 有多高

时间限制: 1 Sec 内存限制: 128 MB
提交: 523 解决: 162
[状态] [提交] [命题人:admin]
题目描述
Little Jing 有很多标杆,已知每个标杆的长度(不超过10000),现在她要把标杆插在地上,相同长度的标杆要接在一起(一个接在另外一个的上面)。Little Jing想知道最后地上插了多少根杆,你能帮帮她吗?

输入
首先输入一个整数N,表示有N组测试实例。
每组实例输入两行,第一行一个正整数n(n<=1000),表示标杆的数量。
第二行是n个正整数表示n个标杆的长度。

输出
每组实例输出一行,包含两个数,最后长度最高的那根杆所包含的标杆的数量,地上插了多少根杆,中间用一个空格隔开。(题目保证有唯一解)

样例输入 Copy
2
3
1 2 3
4
6 5 6 7

样例输出 Copy
1 3
2 3

#include<iostream>
using namespace std;
const int maxn = 10005;
int main(){
	int t,m;
	cin>>t;
	while(t--){
		int max = 0;
		int sum = 0;
		int u = 0;
		int flag = 0;
		int a [maxn] = {0};
		int n;
		cin>>n;
		for(int i=0;i<n;i++){
			cin>>m;
			a[m]++;
		}
		for(int i=0;i<=10002;i++){
			if(a[i]){
				sum++;
				flag = a[i]*i;
				if(flag>u){
					max = a[i];
					u = flag;
				}
			}
		}
		cout<<max<<" "<<sum<<endl;
	}
	return 0;
}

发布了35 篇原创文章 · 获赞 2 · 访问量 1156

猜你喜欢

转载自blog.csdn.net/CoIorful/article/details/104137232