Submission #1315428

#TimeUsernameProblemLanguageResultExecution timeMemory
1315428samarthkulkarniAirplane (NOI23_airplane)C++20
0 / 100
47 ms14440 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define vi vector<long long> #define all(x) x.begin(), x.end() #define endl "\n" #define pr pair<ll, ll> #define ff first #define ss second void solution(); int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); solution(); return 0; } #define arr array<ll, 4> const int N = 2e5+10; vi adj[N]; ll a[N]; void solution() { ll n, m; cin >> n >> m; for (int i = 1; i <= n; i++) cin >> a[i]; while (m--) { int u, v; cin >> u >> v; adj[u].push_back(v); adj[v].push_back(u); } vi suf(n+2); for (int i = n; i >= 1; i--) suf[i] = max(suf[i+1], a[i]); ll x = 0; ll ans = 0; for (int i = 2; i < n; i++) { if (suf[i] > x) { if (a[i] > x) { ll delta = a[i]-x; x += delta; ans+=delta; } else ans++; } else { ans++; if (suf[i] <= x-1) x--; } } cout << ans + x << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...