Submission #25313748
Source Code Expand
#include <bits/stdc++.h>
#include <cassert>
typedef long long int ll;
using namespace std;
// #include <atcoder/all>
// using namespace atcoder;
// @@ !! LIM()
int main(/* int argc, char *argv[] */) {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout << setprecision(20);
ll N, M; cin >> N >> M;
vector<ll> A(N), B(M), C(M);
for (ll i = 0; i < N; i++) cin >> A[i];
sort(A.begin(), A.end());
for (ll i = 0; i < M; i++) cin >> B[i];
for (ll i = 0; i < M; i++) cin >> C[i];
vector<pair<ll, ll>> BC;
for (ll i = 0; i < M; i++) BC.emplace_back(B[i], C[i]);
sort(BC.begin(), BC.end(),
[&](const auto& x, const auto& y) -> bool {
const auto& [xb, xc] = x;
const auto& [yb, yc] = y;
return (double)xc * yb > (double)yc * xb;
});
vector<ll> accB(M + 1), accC(M + 1);
for (ll i = 0; i < M; i++) accB[i + 1] = accB[i] + BC[i].first;
for (ll i = M - 1; i >= 0; i--) accC[i] = accC[i + 1] + BC[i].second;
ll sumA = 0;
for (ll i = 0; i < N; i++) sumA += A[i];
ll vmin = sumA;
ll p = M;
for (ll t = 1; t <= N; t++) {
sumA -= A[N - t];
for (; p > 0; p--) {
const auto& [b, c] = BC[p-1];
if (t * b < c) break;
}
ll thisv = sumA + t * accB[p] + accC[p];
vmin = min(vmin, thisv);
}
cout << vmin << endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Snack |
| User | yamate11 |
| Language | C++ (GCC 9.2.1) |
| Score | 800 |
| Code Size | 1331 Byte |
| Status | AC |
| Exec Time | 103 ms |
| Memory | 14180 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 800 / 800 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00-sample-001.txt, 00-sample-002.txt |
| All | 00-sample-001.txt, 00-sample-002.txt, 01-001.txt, 01-002.txt, 01-003.txt, 01-004.txt, 01-005.txt, 01-006.txt, 01-007.txt, 01-008.txt, 01-009.txt, 01-010.txt, 01-011.txt, 01-012.txt, 01-013.txt, 01-014.txt, 01-015.txt, 01-016.txt, 01-017.txt, 01-018.txt, 01-019.txt, 01-020.txt, 01-021.txt, 01-022.txt, 01-023.txt, 01-024.txt, 01-025.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-001.txt | AC | 8 ms | 3536 KiB |
| 00-sample-002.txt | AC | 2 ms | 3436 KiB |
| 01-001.txt | AC | 3 ms | 3472 KiB |
| 01-002.txt | AC | 3 ms | 3484 KiB |
| 01-003.txt | AC | 2 ms | 3628 KiB |
| 01-004.txt | AC | 2 ms | 3560 KiB |
| 01-005.txt | AC | 1 ms | 3552 KiB |
| 01-006.txt | AC | 48 ms | 10144 KiB |
| 01-007.txt | AC | 41 ms | 7992 KiB |
| 01-008.txt | AC | 81 ms | 12596 KiB |
| 01-009.txt | AC | 49 ms | 6580 KiB |
| 01-010.txt | AC | 71 ms | 14044 KiB |
| 01-011.txt | AC | 89 ms | 14124 KiB |
| 01-012.txt | AC | 93 ms | 14112 KiB |
| 01-013.txt | AC | 102 ms | 14124 KiB |
| 01-014.txt | AC | 103 ms | 14128 KiB |
| 01-015.txt | AC | 94 ms | 14176 KiB |
| 01-016.txt | AC | 96 ms | 14084 KiB |
| 01-017.txt | AC | 98 ms | 14060 KiB |
| 01-018.txt | AC | 99 ms | 14172 KiB |
| 01-019.txt | AC | 101 ms | 14076 KiB |
| 01-020.txt | AC | 100 ms | 14072 KiB |
| 01-021.txt | AC | 100 ms | 14016 KiB |
| 01-022.txt | AC | 100 ms | 14072 KiB |
| 01-023.txt | AC | 101 ms | 14180 KiB |
| 01-024.txt | AC | 101 ms | 13988 KiB |
| 01-025.txt | AC | 96 ms | 14112 KiB |