Submission #1291647

#TimeUsernameProblemLanguageResultExecution timeMemory
12916471otaAirplane (NOI23_airplane)C++20
22 / 100
49 ms14388 KiB
#include <bits/stdc++.h> using namespace std; #define endl "\n" #define int long long #define pii pair<int, int> #define ff first #define ss second #define entire(x) (x).begin(), (x).end() const int inf = 9e18; int32_t main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; vector<int> a(n); for (int i = 0; i < n; i++) cin >> a[i]; vector<vector<int>> adj(n); for (int i = 0; i < m; i++){ int u, v; cin >> u >> v; u--, v--; adj[u].push_back(v); adj[v].push_back(u); } vector<int> suff(n, 0); for (int i = n-2; i > -1; i--) suff[i] = max(suff[i+1], a[i]); int cur = 0, ans = 0; for (int i = 0; i < n-1; i++){ if (suff[i+1] < cur) cur--, ans++; else if (cur < a[i+1]) { int delta = a[i+1] - cur; ans += delta; cur += delta; } else if (cur < suff[i+1]){ cur++, ans++; } else ans++; } ans += cur; cout << ans << 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...