# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1245313 | nibert | Nile (IOI24_nile) | C++20 | 0 ms | 0 KiB |
#include <vector>
#include <algorithm>
using namespace std;
vector<long long> solve_subtask1(const vector<int>& W, const vector<int>& A, const vector<int>& B, const vector<int>& E) {
int N = W.size();
long long base_cost = 0;
for (int b : B) base_cost += b;
vector<long long> result(E.size());
if (N % 2 == 0) {
// Even: All can be paired
fill(result.begin(), result.end(), base_cost);
} else {
// Odd: One artifact must go alone
int min_extra = 1e9;
for (int i = 0; i < N; ++i) {
min_extra = min(min_extra, A[i] - B[i]);
}
long long total = base_cost + min_extra;
fill(result.begin(), result.end(), total);
}
return result;
}