100分,wa掉最后一个点
查看原帖
100分,wa掉最后一个点
813578
www_win楼主2024/10/16 21:21
#include <iostream>
#include <algorithm>
using namespace std;
int a[100010], n, k, ans = 0x3f3f3f3f;
struct node {
	int num;
	int r;
}s[100010];
bool cmp(node a, node b) {
	return a.num < b.num;
}
int main() {
	cin >> n;
	for(int i = 0; i < n; i++) cin >> a[i];
	sort(a, a + n);
	for(int i = 0; i < n; i++) {
		bool f = false;
		sort(s, s + k, cmp);
		for(int j = 0; j < k; j++) {
			if(a[i] == s[j].r + 1) {
				s[j].r++;
				s[j].num++;
				f = true;
				break;
			}
		}
		if(!f) {
			s[k].r = a[i];
			s[k].num++;
			k++;
		}
	}
	for(int i = 0; i < k; i++) {
		ans = min(s[i].num, ans);
	}
	cout << ans;
	return 0;
}
2024/10/16 21:21
加载中...