結果

問題 No.2150 Site Supporter
ユーザー suisensuisen
提出日時 2022-12-24 03:59:40
言語 C++17(gcc12)
(gcc 12.3.0 + boost 1.87.0)
結果
AC  
実行時間 76 ms / 2,000 ms
コード長 629 bytes
コンパイル時間 618 ms
コンパイル使用メモリ 73,216 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-18 05:07:28
合計ジャッジ時間 2,423 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <array>
#include <iostream>
#include <limits>
#include <vector>

constexpr uint64_t inf = std::numeric_limits<uint64_t>::max() / 2;

int main() {
    size_t n;
    uint64_t k, x;
    std::cin >> n >> k >> x;

    std::array<uint64_t, 2> pd{ 0, inf };
    for (uint64_t i = 0; i < n; ++i) {
        uint64_t c;
        std::cin >> c;

        std::array<uint64_t, 2> dp{ inf, inf };

        for (bool f : { 0, 1 }) for (bool g : { 0, 1 }) {
            dp[g] = std::min(dp[g], pd[f] + (not g) * c + g * k + (not f and g) * x);
        }
        dp.swap(pd);
    }

    std::cout << std::min(pd[0], pd[1]) << std::endl;
}
0