提出 #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
結果
AC × 1
AC × 40
セット名 テストケース
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