解题
2024-08-14 12:40:13
发布于:浙江
12阅读
0回复
0点赞
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
// 排序队员实力值
sort(a.begin(), a.end());
// 初始化变量
int groupStart = 0; // 当前组的起始位置
int groupCount = 1; // 当前组的人数
int minGroupSize = 1; // 最小组的人数
// 遍历实力值数组
for (int i = 1; i < n; ++i) {
// 如果当前队员与前一个队员实力值连续且唯一,则加入当前组
if (a[i] == a[i - 1] + 1) {
} else {
// 否则,开始新的组,并更新最小组人数
minGroupSize = max(minGroupSize, groupCount);
groupStart = i;
groupCount = 1;
}
}
// 最后一个组的人数可能还没有比较过
minGroupSize = max(minGroupSize, groupCount);
// 输出最小组的人数
cout <<minGroupSize<< endl;
return 0;
}
这里空空如也
有帮助,赞一个