Submission #1367299

#TimeUsernameProblemLanguageResultExecution timeMemory
1367299psigurdNile (IOI24_nile)C++20
13 / 100
13 ms2608 KiB
#include<bits/stdc++.h>
using namespace std;
using ll = long long;

vector<ll> calculate_costs(vector<int> w, vector<int> a, vector<int> b, vector<int> e){
    vector<ll> ans;
    int n = w.size();
    ll SUM = 0;
    ll SUMv = 0;
    for (auto &p : b){
        SUM += p;
        SUMv += p;
    }

    if (n % 2 == 1){

        ll MIN = 1000000000000000000;
        for (int i = 0; i < n; i++){
            ll diff = a[i] - b[i];
            MIN = min(MIN, diff);
        }
        SUM += MIN;

        // Men hvis D = 1, er der noget der er umuligt
        ll MINv = 1000000000000000000;
        for (int i = 0; i < n; i += 2){
            ll diff = a[i] - b[i];
            MINv = min(MINv, diff);
        }
        SUMv += MINv;
    }

    for (int i = 0; i < (int)e.size(); i++){
        if (e[i] == 1){
            ans.push_back(SUMv);
            continue;
        }
        ans.push_back(SUM);
    }
    return ans;
}
#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...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...