求助!90分!第一个点WA了!大佬救救我!
查看原帖
求助!90分!第一个点WA了!大佬救救我!
935681
Zhouzhiyi0929楼主2023/8/31 18:11
#include <bits/stdc++.h>

using namespace std;
#define int long long
const int N = 1e5 + 10;
int a[N], b[N];
int k;

bool cmp(int i, int j) {
	return j > i; //从小到大排序
	//return i > j; //从大到小排序
}

signed main() {
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
	}

	//从小到大排序
	sort(a + 1, a + n + 1, cmp);
	int k = 1;
	b[1] = a[1];

	//过滤重复数据
	for (int i = 2; i <= n; i++) {
		if (a[i] > b[k]) {
			k++;
			b[k] = a[i];
		}
	}

	//模的最大值=次大值
	//模的次大值=次次大值  输出b[k-2] 就得到次大值
	if (k <= 2)
		cout << -1 << endl;
	else
		cout << b[k - 2] << endl;
}
2023/8/31 18:11
加载中...