Submission #1137035

#TimeUsernameProblemLanguageResultExecution timeMemory
1137035sohamsen15Global Warming (NOI13_gw)C++20
6 / 40
748 ms8264 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pll = pair<ll, ll>;
using pii = pair<int, int>;

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

    ll n; cin >> n;
    vector<ll> a(n); for (auto &x: a) cin >> x;
    auto f = [&](double h) {
        ll ans = 0;
        bool curr = false;
        for (ll i = 0; i < n; i++)
            if (a[i] > h) {
                if (!curr) ans++;
                curr = true;
            } else curr = false;
        return ans;
    };

    ll mx = *max_element(a.begin(), a.end());
    ll best = 0;

    double l = 0, r = 2e31;
    while (r - l > 0.1) {
        double m1 = l + (r - l) / 3.0;
        double m2 = r - (r - l) / 3.0;

        if (f(m1) < f(m2)) l = m1;
        else r = m2; 
    } 
    
    cout << max(f(l), max(f(l - 1), f(l + 1)));
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...