Submission #1358717

#TimeUsernameProblemLanguageResultExecution timeMemory
1358717bakhtiyarnAirplane (NOI23_airplane)C++20
0 / 100
30 ms14408 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 mx = 0, idx = 0;
    for(int i=1; i<=n; i++) if(mx < a[i]) mx = a[i], idx = i;

    int ans = 0, you = 0;
    for(int i=1; i<=idx; i++) ans += a[i], you += a[i];

    for(int i=idx+1; i<=n; i++) {
        if(suf[i] < you and you) you--;
        ans++;
    }
    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...