結果

問題 No.3016 ハチマキおじさん
ユーザー sai
提出日時 2025-01-25 13:56:38
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 979 bytes
コンパイル時間 3,358 ms
コンパイル使用メモリ 283,908 KB
実行使用メモリ 9,028 KB
最終ジャッジ日時 2025-01-25 23:03:36
合計ジャッジ時間 6,332 ms
ジャッジサーバーID
(参考情報)
judge6 / judge11
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 2 WA * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>

int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(nullptr);
  int N; std::cin >> N;
  std::vector<int> A(N), B(N - 1);
  for (int i = 0; i < N; i++) {
    std::cin >> A[i];
  }
  for (int i = 0; i + 1 < N; i++) {
    std::cin >> B[i];
  }
  std::sort(A.begin(), A.end());
  std::sort(B.begin(), B.end());
  std::vector<long long> L(N, 0), R(N, 0);
  for (int i = 0; i + 1 < N; i++) {
    L[i + 1] = L[i] + std::abs(A[i] - B[i]);
  }
  for (int i = N - 1; i > 0; i--) {
    R[i - 1] = R[i] + std::abs(A[i] - B[i - 1]);
  }
  long long ans = 1LL << 60;
  for (int i = 0; i < N; i++) {
    ans = std::min(ans, L[i] + R[i]);
  }
  std::vector<int> P;
  for (int i = 0; i < N; i++) {
    if (ans == L[i] + R[i]) {
      P.push_back(A[i]);
    }
  }
  P.erase(std::unique(P.begin(), P.end()), P.end());
  std::cout << ans << '\n';
  for (int i = 0; i < (int)P.size(); i++) {
    std::cout << P[i] << (i + 1 == (int)P.size() ? '\n' : ' ');
  }
}
0