結果
問題 |
No.3016 ハチマキおじさん
|
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
#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' : ' '); } }