Towers
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 11 Accepted Submission(s) : 6
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
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.
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 Bi — the lengths of the bars. All the lengths are natural numbers not exceeding 1000.
Output
The output is two numbers — the height of the largest tower and their total number. Remember that Vasya should use all the bars.
Sample Input
4 6 5 6 7
Sample Output
2 3
好吧 我承认我坑了 输入的时候第一次用了cin然后就TEL了 改成scanf就AC了 蛋疼
#include <map> #include <stdio.h> #include <iostream> using namespace std; int main () { map <int,int> m; int i,n,a,cnt; while (scanf("%d",&n)!=EOF) { cnt=0; m.clear(); for (i=1; i<=n; i++) { scanf("%d",&a); m[a]++; } map<int,int>::iterator it; int max1=-1; for (it=m.begin();it!=m.end();it++) { cnt++; if ((*it).second>max1) max1=(*it).second; } printf ("%d %d\n",max1,cnt); } return 0; }