codeforces Towers 题解

Posted llguanli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeforces Towers 题解相关的知识,希望对你有一定的参考价值。

Little Vasya has received a young builder’s kit. The kit consists of several wooden bars, the lengths of all of them are known. The bars can be put one on the top of the other if their lengths are the same.

Vasya wants to construct the minimal number of towers from the bars. Help Vasya to use the bars in the best way possible.

Input

The first line contains an integer N (1?≤?N?≤?1000) — the number of bars at Vasya’s disposal. The second line contains N space-separated integers li — the lengths of the bars. All the lengths are natural numbers not exceeding 1000.

Output

In one line output two numbers — the height of the largest tower and their total number. Remember that Vasya should use all the bars.

Sample test(s)
input
3
1 2 3
output
1 3
input
4
6 5 6 7
output
2 3

题意就是计算一个数组中的最大反复数和去重后的数据量。

所以本题就是数组去重知识的运用,和添加一个记录,记录最大反复数。


void Towers()
{
	unsigned n;
	cin>>n;
	int *A = new int[n];

	for (unsigned i = 0; i < n; i++)
	{
		cin>>A[i];
	}
	sort(A, A+n);
	int j = 1, h = 1, max_h = 1;
	for (unsigned i = 1; i < n; i++)
	{
		if (A[i] != A[i-1])
		{
			A[j++] = A[i];
			max_h = max(max_h, h);
			h = 1;
		}
		else h++;
	}
	max_h = max(max_h, h);
	cout<<max_h<<‘ ‘<<j;

	delete [] A;
}



以上是关于codeforces Towers 题解的主要内容,如果未能解决你的问题,请参考以下文章

[补题][Codeforces478D]Red-Green Towers(DP)

Codeforces 626C. Block Towers

CodeForces 478D Red-Green Towers (DP)

CodeForces 626CBlock Towers

Codeforces 229D Towers

Codeforces 626C Block Towers「贪心」「二分」「数学规律」