SOLUTION - Giá trị trung bình

Giá trị trung bình:

Reference C++ AC Code
#include <bits/stdc++.h>
using namespace std;

const int MX = 500005;
int n, q;
long long arr[MX], sum[MX];
int main() {
    cin >> n;
    for (int i = 0; i < n; ++i) cin >> arr[i];
    sort(arr, arr + n);
    sum[0] = arr[0];
    for (int i = 1; i < n; ++i) sum[i] = sum[i - 1] + arr[i];
    cin >> q;
    while (q--) {
        long long k; cin >> k;
        int l = 0, r = n;
        while (l < r) {
            int m = (l + r + 1) / 2;
            long long total = sum[m - 1];
            if (total < k * m) l = m;
            else r = m - 1;
        } cout << l << endl;
    } return 0;
}

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.