Submission #1062242

#TimeUsernameProblemLanguageResultExecution timeMemory
1062242PurpleCrayonBikeparking (EGOI24_bikeparking)C++17
25 / 100
28 ms8028 KiB
#include <bits/stdc++.h> using namespace std; #define sz(v) int(v.size()) #define ar array typedef long long ll; const int N = 50, MOD = 1e9+7; void solve() { int n; cin >> n; vector<ll> a(n); for (auto& x : a) cin >> x; vector<ll> b(n); for (auto& x : b) cin >> x; // I want to be matched with things lower than me ll happy = 0; int p = n-1; for (int i = n-1; i >= 0; i--) { p = min(p, i-1); while (b[i]) { while (p >= 0 && a[p] == 0) p--; if (p < 0) break; ll cur = min(b[i], a[p]); happy += cur; b[i] -= cur; a[p] -= cur; } } ll sad = 0; for (int i = 0; i < n; i++) { ll cur = min(a[i], b[i]); sad += b[i] - cur; } cout << happy - sad << '\n'; } int main() { ios::sync_with_stdio(false); cin.tie(0); int T = 1; // cin >> T; while (T--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...