提出 #51387866
ソースコード 拡げる
#ifndef LOCAL
#include <algorithm>
#include <iostream>
#include <vector>
#include <fstream>
#include <string>
#include <deque>
#include <iomanip>
#include <tuple>
#include <cmath>
#include <map>
#include <set>
#include <unordered_map>
#include <unordered_set>
#include <cstdlib>
#include <cassert>
#include <random>
#include <ctime>
#include <bitset>
#include <chrono>
#include <array>
#include <complex>
#else
#ifdef DEBUG
#include <bits/stdc++_deb.h>
#else
#include <bits/stdc++.h>
#endif
#endif
using namespace std;
using ll = long long;
using ld = long double;
const int inf = 1e9;
ll cost(ll cnt5, ll sum, ll cnt, ll p4, ll p5) {
ll l = -1, r = 1e15;
while (r - l > 1) {
ll m = (l + r) / 2;
if (m * 4 + cnt5 * 5 + sum < 3 * (cnt + cnt5 + m)) {
l = m;
} else {
r = m;
}
}
return r * p4 + cnt5 * p5;
}
void solve() {
array<ll, 5> a;
ll sum = 0, cnt = 0;
for (int i = 0; i < 5; i++) {
cin >> a[i];
sum += a[i] * (i + 1);
cnt += a[i];
}
array<ll, 5> p;
for (int i = 0; i < 5; i++) {
cin >> p[i];
}
if (sum >= 3 * cnt) {
cout << 0 << '\n';
return;
}
ll l = 0, r = 1e15;
while (r - l > 1) {
ll m = (l + r) / 2;
if (cost(m, sum, cnt, p[3], p[4]) >= cost(m + 1, sum, cnt, p[3], p[4])) {
l = m;
} else {
r = m;
}
}
ll mcost = min(cost(r, sum, cnt, p[3], p[4]), cost(l, sum, cnt, p[3], p[4]));
cout << mcost << '\n';
}
int main() {
//freopen("input.txt", "r", stdin);
//freopen("outputik.txt", "w", stdout);
ios_base::sync_with_stdio(false), cin.tie(nullptr);
int t = 1;
cin >> t;
for (int i = 0; i < t; i++) solve();
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | B - Bought Review |
| ユーザ | Hectonit |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 300 |
| コード長 | 1868 Byte |
| 結果 | AC |
| 実行時間 | 148 ms |
| メモリ | 3596 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 300 / 300 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt |
| All | sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample_01.txt | AC | 1 ms | 3512 KiB |
| test_01.txt | AC | 1 ms | 3452 KiB |
| test_02.txt | AC | 1 ms | 3388 KiB |
| test_03.txt | AC | 63 ms | 3500 KiB |
| test_04.txt | AC | 63 ms | 3452 KiB |
| test_05.txt | AC | 62 ms | 3460 KiB |
| test_06.txt | AC | 63 ms | 3472 KiB |
| test_07.txt | AC | 63 ms | 3524 KiB |
| test_08.txt | AC | 55 ms | 3408 KiB |
| test_09.txt | AC | 55 ms | 3440 KiB |
| test_10.txt | AC | 55 ms | 3460 KiB |
| test_11.txt | AC | 55 ms | 3596 KiB |
| test_12.txt | AC | 55 ms | 3464 KiB |
| test_13.txt | AC | 55 ms | 3332 KiB |
| test_14.txt | AC | 55 ms | 3524 KiB |
| test_15.txt | AC | 55 ms | 3464 KiB |
| test_16.txt | AC | 55 ms | 3400 KiB |
| test_17.txt | AC | 55 ms | 3396 KiB |
| test_18.txt | AC | 55 ms | 3524 KiB |
| test_19.txt | AC | 77 ms | 3464 KiB |
| test_20.txt | AC | 76 ms | 3456 KiB |
| test_21.txt | AC | 77 ms | 3456 KiB |
| test_22.txt | AC | 76 ms | 3388 KiB |
| test_23.txt | AC | 78 ms | 3384 KiB |
| test_24.txt | AC | 77 ms | 3420 KiB |
| test_25.txt | AC | 79 ms | 3352 KiB |
| test_26.txt | AC | 76 ms | 3404 KiB |
| test_27.txt | AC | 78 ms | 3452 KiB |
| test_28.txt | AC | 78 ms | 3392 KiB |
| test_29.txt | AC | 148 ms | 3388 KiB |
| test_30.txt | AC | 147 ms | 3388 KiB |
| test_31.txt | AC | 148 ms | 3460 KiB |
| test_32.txt | AC | 148 ms | 3412 KiB |
| test_33.txt | AC | 148 ms | 3412 KiB |
| test_34.txt | AC | 148 ms | 3480 KiB |
| test_35.txt | AC | 148 ms | 3324 KiB |
| test_36.txt | AC | 148 ms | 3528 KiB |
| test_37.txt | AC | 148 ms | 3524 KiB |
| test_38.txt | AC | 147 ms | 3388 KiB |
| test_39.txt | AC | 7 ms | 3464 KiB |