結果

問題 No.3433 [Cherry 8th Tune A] ADD OIL!
コンテスト
ユーザー Moss_Local
提出日時 2026-01-31 17:52:57
言語 C++23
(gcc 15.2.0 + boost 1.89.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 1,204 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,428 ms
コンパイル使用メモリ 169,800 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2026-01-31 17:53:00
合計ジャッジ時間 2,706 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 12
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void solve() {
    int N;
    long long K;
    if (!(cin >> N >> K)) return;

    vector<long long> A(N);
    for (int i = 0; i < N; ++i) {
        cin >> A[i];
    }

    // 最小値を保持する変数。十分大きな値で初期化
    // long long の最大値(約 9e18)なら 10^16 をカバーできる
    long long min_cost = -1; 

    // どのギア(i番目)に潤滑油を使うかを全探索
    for (int i = 0; i < N; ++i) {
        long long current_product = 1;
        
        for (int j = 0; j < N; ++j) {
            if (i == j) {
                // 潤滑油を使うギアの場合
                current_product *= (A[j] - K);
            } else {
                // 使わないギアの場合
                current_product *= A[j];
            }
        }

        // 初回、または今の計算結果が最小値を下回れば更新
        if (min_cost == -1 || current_product < min_cost) {
            min_cost = current_product;
        }
    }

    cout << min_cost << endl;
}

int main() {
    int T;
    cin >> T;
    while (T--) {
        solve();
    }
    return 0;
}
0