题意:输入一堆数字 看一堆数中最少有多少个上升子串(不连续的子串) 1个数字 单独也算一个子串

思路:

每个串去掉一串最长的 再去掉一串次长的。。。。。

到最后肯定剩下某个出现次数最多的数字  所以本题就是找那个数字出现的最多 最多的次数是多少

肯定用map喽

#include<stdio.h>
#include<map>
using namespace std;
int main()
{
__int64 i,n,max;
map<__int64,__int64>mp;
while(scanf("%I64d",&n)!=EOF){
mp.clear();
while(n--){
scanf("%I64d",&i);
mp[i]++;
}
map<__int64,__int64>::iterator it;
max=0;
for(it=mp.begin();it!=mp.end();it++)
if(max<it->second) max=it->second;
printf("%I64d\n",max);
}
return 0;
}