45分,不解
查看原帖
45分,不解
1461559
_Passer楼主2024/10/26 22:08

赛时代码

#include <bits/stdc++.h>
using namespace std;

int main() {
	freopen("duel3.in", "r", stdin);
	long long n;
	cin>>n;
	long long arr[n];
	int flag = 0;
	for(int i = 0;i < n;i++) {
		cin>>arr[i];
		if(arr[i] > 2)
			flag = 1;
	}
	long long ans = 0;
	if(flag == 0) {
		long long one = 0;
		long long two = 0;
		for(long long i = 0;i < n;i++) {
			if(arr[i] == 1)
				one++;
			else if(arr[i] == 2)
				two++;
		}
		if(one >= two)
			ans = one;
		else if(one < two)
			ans = two;
	}
	else {
		sort(arr, arr + n);
		for(long long i = 1;i < n;i++) {
			for(long long j = i - 1;j >= 0;j--) {
				if(arr[j] != arr[i] && arr[j] != 0) {
					arr[j] = 0;
					break;
				}
			}
		}
		for(long long i = 0;i < n;i++) {
			if(arr[i] != 0)
				ans++;
		}
	}
	cout<<ans;
	return 0;
}

没想那么多,特殊性质写了个求众数的,测试是过了的,民间数据超时了,求调

2024/10/26 22:08
加载中...