我想的是去重之后,最大值即为次打 % 最大,次小就为更小%最大,就是第三大的数,但是只有90分,求大佬给我讲讲
题目
WA Code
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 2e5 + 5;
int n;
int a[N], b[N];
int main()
{
cin >> n;
for (int i = 1; i <= n; i ++ ) scanf("%d", &a[i]);
sort(a + 1, a + n + 1);
for (int i = 1; i <= n; i ++ )
if (a[i] != a[i + 1])
b[++ b[0]] = a[i];
if (b[0] < 2)
{
puts("-1");
return 0;
}
cout << b[b[0] - 2];
return 0;
}