zoukankan      html  css  js  c++  java
  • 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;
    }



  • 相关阅读:
    python yield yield from
    python isinstance()与type()的区别
    python isinstance用法
    python 展开嵌套的序列
    python getmtime() 最近修改文件内容的时间
    python getctime() 文件最后一次的改变时间
    python getatime() 查看文件的访问时间
    python模拟随机游走
    getopt例子
    matplotlib 代码风格
  • 原文地址:https://www.cnblogs.com/llguanli/p/8450116.html
Copyright © 2011-2022 走看看