Submission #1241642

#TimeUsernameProblemLanguageResultExecution timeMemory
1241642nibertNile (IOI24_nile)C++20
0 / 100
25 ms3144 KiB
#include <vector>
#include <numeric>
#include <algorithm>
using namespace std;

vector<long long> calculate_costs(vector<int> W, vector<int> A, vector<int> B, vector<int> E){
    int N = W.size();
    int Q = E.size();
    vector<long long> costs(Q);
    vector<int> idx(N);
    iota(idx.begin(), idx.end(), 0);
    sort(idx.begin(), idx.end(), [&](int i, int j) {
        return B[i] < B[j];
    });
    if (N % 2 == 0) {
        for(int b = 0; b < Q; b++){
            long long cost = 0;
            for (int i = 1; i < N; i+=2) {
                cost += B[idx[i]] + B[idx[i-1]];
            }
            costs[b] = cost;
        }
    } else {
        for(int b = 0; b < Q; b++){
            long long cost = 0;
            for (int i = 1; i < N-1; i+=2) {
                cost += B[idx[i]] + B[idx[i-1]];
            }
            cost += A[idx[N-1]];
            costs[b] = cost;
        }
    }
    return costs;
}
#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...