Submission #1212164

#TimeUsernameProblemLanguageResultExecution timeMemory
1212164kunzaZa183Boxes with souvenirs (IOI15_boxes)C++20
10 / 100
1 ms328 KiB
#include "boxes.h"

#include <bits/stdc++.h>
using namespace std;

long long delivery(int N, int K, int L, int p[]) {
  vector<int> left, right;
  for (int i = 0; i < N; i++)
    if (p[i] <= L / 2) {
      left.push_back(p[i]);
    } else
      right.push_back(p[i]);

  // cerr << left.size() << " " << right.size() << "\n";

  // cout << (left.empty() ? 0 : left.back() * 2) +
  //             (right.empty() ? 0 : (N - right.front()) * 2)
  //      << "\n";

  return min(L, (left.empty() ? 0 : left.back() * 2) +
                    (right.empty() ? 0 : (L - right.front()) * 2));

  long long ans = 0;
  for (int i = K - 1; i < left.size(); i += K) {
    ans += 2 * left[i];
  }
  for (int i = K - 1; i < right.size(); i += K) {
    ans += 2 * (L - right[i]);
  }

  if (left.size()) ans += (left.size() % K + right.size() % K + K - 1) / K;

  return ans;
}
#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...