Submission #1344306

#TimeUsernameProblemLanguageResultExecution timeMemory
1344306talyNile (IOI24_nile)C++20
13 / 100
19 ms2608 KiB
#include "nile.h"
#include <bits/stdc++.h>
using namespace std;
#define lli long long
#define pii pair<int, int>
#define ff first
#define ss second
#define sz size
#define rsz resize
#define pb push_back
#define ass assign
#define endl '\n'
#define all(x) (x).begin(),(x).end()

std::vector<long long> calculate_costs(std::vector<int> W, std::vector<int> A, std::vector<int> B, std::vector<int> E) {
    int q=E.size();
    int n=W.size();
    lli soma=0;
    for(int i=0; i<n; i++){
        soma+=B[i];
    }
    // cout << soma<<endl;
    lli resp=1e18;
    lli resp1=1e18;
    lli resp2=1e18;
    if(n%2==1){
        for(int i=0; i<n; i+=2){
            resp1=min(resp1, soma-B[i]+A[i]);
            // cout << resp << endl;
        }
        for(int i=0; i<n; i++){
            resp2=min(resp2, soma-B[i]+A[i]);
            // cout << resp << endl;
        }
    }else {
        resp=soma;
        resp1=soma;
        resp2=soma;
    }
    vector<lli> R(q);
    for(int i=0; i<q; i++){
        if(n%2==1){
            if(E[i]==1)R[i]=resp1;
            else R[i]=resp2;
        }else R[i]=resp;
    }
    return R;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...