ZR noip Day 1
多少年前的老古董,当时没好好打,anyway,现在拿来 老歌新编 一下。
T1
不会,废了!
先将所有的数字排序。枚举平均数的位置,假设 \(a_i\) 是第⼀个能被选的数字。我们需要选尽量多大于等于 \(a_i\) 的数字,满⾜平均数小于 \(a_i\),于是只要考虑尽量多的选取⼀个前缀即可。
上面是题解
没看懂
抄代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1145141;
ll n, a[N], ans, sum, qwq;
int main(){
cin >> n;
for (ll i = 1; i <= n; i++) cin >> a[i];
sort(a + 1,a + n + 1);
for (ll i = 1; i <= n; i++)
sum += a[i],
qwq = i - (upper_bound(a + 1,a + i + 1,sum / i) - a - 1), ans = max(ans,qwq);
cout << ans << endl;
return 0;
}

浙公网安备 33010602011771号