相同身高(height) 题目描述 拓拓超市大促销,拓拓在超市买了一大堆东西,准备付账。 来到收银台前,拓拓傻眼了,前面排起了长长的队,估计等到拓拓付款起码要半个小时。 百无聊赖之下,拓拓打量起了眼前的队伍,忽然有了一个想法:他发现队伍里的人高矮不一,但总会有人身高相近。拓拓有一项特异功能,他能够估计出任何一个人的身高(精确到毫米)。 现在拓拓想统计这条队伍相同身高的最多有多少个人。(只要是身高相同的,人数都要算进去)
输入格式 第一行包含一个正整数n,表示队伍人数。
第二行包含n个正整数,表示队伍中每个人的身高(单位:毫米)。
输出格式 输出一行一个整数,表示身高相同的最多有多少个人。
样例 输入#1 5 1700 1800 1900 1800 1750
输出#1 2
输入 7 1700 1800 1900 1800 1750 1900 1800
输出 5
数据范围 对于40%的数据,n≤100; 对于100%的数据,n≤1000000; 1500≤身高≤2000。
我的代码错哪:
#include <bits/stdc++.h>
using namespace std;
int a[501]; // 记录每个身高出现的次数,下标从0到500
int main() {
int n,s=1,maxn=1;
cin >> n;
for (int i = 1;i <= n;i++)
{
cin >> a[i];
}
sort(a+1,a+n+1);
for (int i = 1;i <= n-1;i++)
{
if (a[i]==a[i+1])
{
s++;
}
if (s > maxn)
{
maxn=s;
}
}
if (s > maxn)
{
maxn=s;
}
cout << maxn;
}