题目一定要看清呐, indicating the level number for each soldier.( less than 30 digits);意思是
2^30次,不是30位数,一开始用str一直TLE!!!题意就是:给一堆数,从小到大连线,每个数只能和比它大的或比它小的连,不连也算一条,求最少要几条线;就是求出这些树中重复次数最多的;
用map,scanf,printf输入输出,cin,cout会超时
#include<iostream>
#include<map>
#include<cstring>
#include<algorithm>
using namespace std;
map<int,int> arr;
int main()
{
int n,m;
while(scanf("%d", &n)==1)
{
arr.clear();
int max=0;
for(int i=1;i<=n;i++)
{
scanf("%d", &m);
arr[m]++;
if(max<arr[m])
max=arr[m];
}
cout<<max<<endl;
}
}