結果

問題 No.1071 ベホマラー
ユーザー Mister
提出日時 2020-08-01 07:22:56
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 33 ms / 2,000 ms
コード長 667 bytes
コンパイル時間 1,306 ms
コンパイル使用メモリ 78,328 KB
最終ジャッジ日時 2025-01-12 12:13:55
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #

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

using lint = long long;

void solve() {
    int n;
    lint k, x, y;
    std::cin >> n >> k >> x >> y;

    std::vector<lint> ps(n);
    for (auto& p : ps) {
        lint a;
        std::cin >> a;
        p = (a - 1 + k - 1) / k;
    }
    std::sort(ps.begin(), ps.end());

    lint ans = 0, done = 0;
    for (int i = 0; i < n; ++i) {
        lint need = ps[i] - done;
        lint m = n - i;
        ans += std::min(m * x, y) * need;
        done = ps[i];
    }

    std::cout << ans << "\n";
}

int main() {
    std::cin.tie(nullptr);
    std::ios::sync_with_stdio(false);

    solve();

    return 0;
}
0