QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#463815#8813. Records in Chichén ItzáGenshinImpactsFault#WA 0ms3628kbC++201.4kb2024-07-05 14:40:492024-07-05 14:40:50

Judging History

你现在查看的是最新测评结果

  • [2024-07-05 14:40:50]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3628kb
  • [2024-07-05 14:40:49]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define MOD 998244353
int f[110][20010];
int a[110];
int C[110][110];
int fac[110], inv[110], faci[110];
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n, m;
    cin >> n >> m;
    int sum = 0;
    f[0][0] = 1;
    for(int i = 1; i <= n; ++ i) {
        cin >> a[i];
        sum += a[i];
        for(int j = 1; j <= i; ++ j) {
            for(int k = min(sum, j * 200); k >= a[i]; -- k) {
                f[j][k] += f[j - 1][k - a[i]];
                if(f[j][k] >= MOD) f[j][k] -= MOD;
            }
        }
    }
    for(int i = 0; i <= n; ++ i) {
        C[i][0] = 1;
        for(int j = 1; j <= i; ++ j) {
            C[i][j] = (C[i - 1][j - 1] + C[i - 1][j]) % MOD;
        }
    }
    fac[0] = fac[1] = inv[0] = inv[1] = faci[0] = faci[1] = 1;
    for(int i = 2; i <= n; ++ i) {
        fac[i] = 1ll * fac[i - 1] * i % MOD;
        inv[i] = 1ll * inv[MOD % i] * (MOD - MOD / i) % MOD;
        faci[i] = 1ll * faci[i - 1] * inv[i] % MOD;
    }
    int Ans = 0;
    for(int i = 1; i <= n; ++ i) {
        for(int j = 1; j <= sum; ++ j) {
            if(!f[i][j]) continue;
            Ans += 1ll * fac[n - i] * fac[i] % MOD * f[i][j] % MOD * ((i * m >= j) ? (1ll * j * inv[i] % MOD) : m) % MOD;
            if(Ans >= MOD) Ans -= MOD;
        }
    }
    cout << 1ll * Ans * faci[n] % MOD  << "\n";
}

詳細信息

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3628kb

input:

3
6
1 1 1 1 3 3
5
1 1 2 2 2
10
1 1 1 1 2 2 2 2 3 3

output:

665496243

result:

wrong answer 1st words differ - expected: 'No', found: '665496243'