QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#463815 | #8813. Records in Chichén Itzá | GenshinImpactsFault# | WA | 0ms | 3628kb | C++20 | 1.4kb | 2024-07-05 14:40:49 | 2024-07-05 14:40:50 |
Judging History
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'