Submission #1358722

#TimeUsernameProblemLanguageResultExecution timeMemory
1358722bakhtiyarnAirplane (NOI23_airplane)C++20
22 / 100
33 ms14524 KiB
#include "bits/stdc++.h"
using namespace std;
#define int long long

const int N = 3e5+5;
int a[N];
vector<int> g[N];
int suf[N];



void solve(){
    int n, m; cin >> n >> m;
    for(int i=1; i<=n; i++) cin >> a[i];
    for(int i=1; i<=n; i++) {
        int x, y; cin >> x >> y;
        g[x].push_back(y);
        g[y].push_back(x);
    }
    for(int i=n; i>=1; i--) suf[i] = max(suf[i+1], a[i]);

    int you = 0, ans = 0;
    for(int i=2; i<=n; i++) {
        if(suf[i] < you) you--;
        else if(suf[i] > you) you++;
        ans++;

        if(you < a[i]) ans += a[i]-you, you += a[i]-you;
    }
    ans += you;
    cout << ans << '\n';


}

signed main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    solve();
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...