刚学语法不到一个月的新手,第一次在题解上发代码。

#include <algorithm>
using namespace std;

int cnt[10];
// 优化版, arr都不用开。 
int main(){
	int n, a;
	cin >> n;
	for(int i = 0; i < n; i++){
		cin >> a; 
		cnt[a]++;  // 对 1 - 9 每个数字记数。 
	}
	
	sort(cnt + 1, cnt + 10);  // cnt[1]为最小值, cnt[9]为最大值。
	if(cnt[9] - cnt[1] >= 2)  // 如果所有数字出现次数相等,或者出现最多的那些数字只比出现最少的那些数字多出现一次,那就能 YES, 否则就 NO 。
		cout << "NO" << endl;
	else
		cout << "YES" << endl;
	return 0;
}