# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1151559 | Jawad_Akbar_JJ | Bikeparking (EGOI24_bikeparking) | C++20 | 150 ms | 16876 KiB |
#include <iostream>
#include <set>
using namespace std;
int a[300005], b[300005];
int main(){
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int n, Ans = 0;
cin>>n;
set<pair<int,int>> st;
for (int i=1;i<=n;i++)
cin>>a[i], st.insert({i, a[i]}), a[i] = 0;
for (int i=1;i<=n;i++)
cin>>b[i];
for (int i=1, ptr = 1;i<=n;){
if (st.size() > 0 and (*begin(st)).first < i and b[i]){
auto u = prev(st.upper_bound({i, 0}));
auto [id, cap] = *u;
int k = min(cap, b[i]);
b[i] -= k, Ans += k;
if (cap - k)
st.insert({id, cap - k});
i += !b[i];
st.erase(u);
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |