Submission #1279483

#TimeUsernameProblemLanguageResultExecution timeMemory
1279483hynmjAirplane (NOI23_airplane)C++20
22 / 100
188 ms11392 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;
const long long N = 2e5 + 5;
int a[N];

void solve()
{
    int n, m;
    cin >> n >> m;
    multiset<int> s;
    for (int i = 0; i < n; i++)
    {
        cin >> a[i + 1];
        s.insert(a[i + 1]);
    }
    int altitude = 0;
    int time = n - 1;
    for (int i = 2; i <= n; i++)
    {
        int mx = *s.rbegin();
        if (altitude < mx)
        {
            altitude++;
        }
        else if (altitude > mx)
        {
            altitude--;
        }
        if (altitude < a[i])
        {
            time += a[i] - altitude;
            altitude = a[i];
        }

        s.extract(a[i]);
    }
    cout << time + altitude << endl;
}

signed main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    cout.tie(NULL);
    int t = 1;
    // cin >> t;
    for (int i = 1; i <= t; i++)
    {
        // cout << "Case #" << i << ':' << ' ';
        solve();
        cout << endl;
    }
    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...