Submission #1177133

#TimeUsernameProblemLanguageResultExecution timeMemory
1177133madamadam3Nile (IOI24_nile)C++20
6 / 100
17 ms2632 KiB
#include "nile.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
using vi = vector<int>;

// input
// W[i] = weight of artifact i
// A[i] = cost of transporting artifact i by itself
// B[i] = cost of transporting artifact i with another artifact
// E[j] = maximum weight different for artifacts going together for query j

// output
// R[i] = min cost of transporting all artifacts, when D = R[j]

vector<ll> calculate_costs(vi W, vi A, vi B, vi E) {
  int N = W.size(), Q = E.size();
  vector<ll> R(Q, 0);

  for (int j = 0; j < Q; j++) {
    ll SUM = 0; for (int i = 0; i < N; i++) SUM += B[i];
    ll MIN = numeric_limits<ll>::max();

    if (N % 2 == 0) {
      MIN = SUM;
      R[j] = MIN;
      continue;
    }

    for (int i = 0; i < N; i++) {
      MIN = min(MIN, SUM - B[i] + A[i]);
    }

    R[j] = MIN;
  }

  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...