Submission #1364181

#TimeUsernameProblemLanguageResultExecution timeMemory
1364181avahwBikeparking (EGOI24_bikeparking)C++20
25 / 100
19 ms4932 KiB
#include <bits/stdc++.h>
using namespace std;

using ll = long long;

int main(){
    cin.tie(0);
    ios::sync_with_stdio(0);
    ll n;
    cin >> n;
    vector<ll> racks(n);
    vector<ll> ppl(n);
    for(ll i = 0; i < n; i++) cin >> racks[i];
    for(ll i = 0; i < n; i++) cin >> ppl[i];
    // do upgrades: starting from n - 1
    ll curr_tier = n - 2;
    ll score = 0;
    for(ll i  = n - 1; i > 0; i--){
        // make sure we're on correct settings
        if(ppl[i] == 0) continue;
        if(curr_tier >= i) curr_tier = i - 1;
        if(curr_tier < 0) break;
        // assign ppl to slots
        ll remove = min(ppl[i], racks[curr_tier]);
        score += remove;
        ppl[i] -= remove;
        racks[curr_tier] -= remove;
        if(racks[curr_tier] == 0) curr_tier--;
    }
    // do samegrades
    for(ll i = 0; i < n; i++){
        ll remove = min(ppl[i], racks[i]);
        ppl[i] -= remove;
        racks[i] -= remove;
    }
    // do downgrades
    for(ll i = 0; i < n; i++) score -= ppl[i];
    cout << score << "\n";
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...