问题求助
  • 板块学术版
  • 楼主DoubleQLzn
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/4/16 18:12
  • 上次更新2023/10/23 18:15:48
查看原帖
问题求助
953149
DoubleQLzn楼主2023/4/16 18:12

相同身高(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;
}
2023/4/16 18:12
加载中...