#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) {
long long total = accumulate(B.begin(), B.end(), 0LL);
int N = W.size();
vector<int> X(N);
for (int i = 0; i < N; i++) {
X[i] = A[i] - B[i];
}
int extra = *min_element(X.begin(), X.end());
if (N % 2 == 1) {
total = total + extra;
}
int Q = E.size();
vector<long long> R(Q, total);
int special = X[0];
for (int i = 0; i < N; i += 2) {
special = min(special, X[i]);
}
for (int i = 0; i < Q; i++) {
if (E[i] == 1 and N % 2 == 1) {
R[i] += special - extra;
}
}
return R;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |