제출 #1197588

#제출 시각아이디문제언어결과실행 시간메모리
1197588primoSeesaw (JOI22_seesaw)C++20
0 / 100
0 ms324 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;
    cin >> n;
    vector<long long> a(n);
    long double sum = 0;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
        sum += a[i];
    }
    sort(a.begin(), a.end());

    long double u = sum / n;

    int l = 0, r = n - 1;
    long double mn = u, mx = u;

    while (l < r) {
        int cnt = r - l + 1;
        long double current = sum / cnt;

        if (current >= u) {
            sum -= a[r--];
        } else {
            sum -= a[l++];
        }

        cnt--;
        long double next_avg = sum / cnt;
        mn = min(mn, next_avg);
        mx = max(mx, next_avg);
    }

    cout << fixed << setprecision(10) << (mx - mn) << "\n";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...