はまやんはまやんはまやん

hamayanhamayan's blog

ダブルブッキング [yukicoder No.586]

https://yukicoder.me/problems/no/586

解法

https://yukicoder.me/submissions/213798

予約が入った時にもう予約が入った部屋であれば、P1+P2の損失が生まれるので答えに足していく。
もう予約が入っているかどうかはsetを使って管理する。

int P1, P2, N, ans;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> P1 >> P2 >> N;

    set<int> used;
    rep(i, 0, N) {
        int R; cin >> R;
        if (used.count(R)) ans += P1 + P2;
        used.insert(R);
    }
    cout << ans << endl;
}