結果

問題 No.2561 みんな大好きmod 998
ユーザー Tatsu_mr
提出日時 2024-09-18 05:10:18
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 559 ms / 4,000 ms
コード長 806 bytes
コンパイル時間 5,304 ms
コンパイル使用メモリ 311,148 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-09-18 05:10:31
合計ジャッジ時間 13,453 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 44
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;

using lint = long long;

using mint1 = atcoder::modint998244353;
using mint2 = atcoder::modint;

int main() {
    int n, k;
    cin >> n >> k;
    vector<lint> a(n);
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    mint2::set_mod(998);
    vector<char> v(n, 'x');
    for (int i = 0; i < k; i++) {
        v[i] = 'o';
    }
    mint2 ans = 0;
    do {
        mint1 cnt1 = 0;
        mint2 cnt2 = 0;
        for (int i = 0; i < n; i++) {
            if (v[i] == 'o') {
                cnt1 += mint1(a[i]);
                cnt2 += mint2(a[i]);
            }
        }
        if (cnt1.val() <= cnt2.val()) {
            ans++;
        }
    } while (next_permutation(v.begin(), v.end()));
    cout << ans.val() << endl;
}
0