QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#657048 | #9436. Some Sum of Subset | ucup-team1001# | WA | 0ms | 3560kb | C++23 | 1.2kb | 2024-10-19 14:06:12 | 2024-10-19 14:06:12 |
Judging History
answer
#include "bits/stdc++.h"
using namespace std;
using i64 = long long;
i64 mod = 998244353;
void solve() {
int n, m;
cin >> n >> m;
vector<vector<i64>>
f1(n + 1, vector<i64>(m + 1));
vector<int> a( n);
for(auto &x:a)cin >> x;
sort(a.begin(), a.end(),greater<int>());
vector<i64> record(n + 1);
f1[0][0] = 1;
for (int i = 1; i <= n; i++) {
int x = a[i - 1];
// cin >> x;
for (int j = n; j; j--) {
record[j] += record[j - 1];
record[j] %= mod;
}
for (int j = 0; j < m; j++) {
int to = j + x;
if (to >= m)
record[0] += f1[i - 1][j];
else {
f1[i][to] += f1[i - 1][j];
f1[i][to] %= mod;
}
f1[i][j]+=f1[i- 1][j];
f1[i][j] %= mod;
}
}
for (int i = n; i; i--) {
record[i - 1] += record[i];
record[i - 1] %= mod;
}
for (int i = 0; i <= n; i++) {
cout << record[i] << endl;
}
}
int main() {
ios::sync_with_stdio(0), cin.tie(0);
int t;
// cin >> t;
while (t--) {
solve();
}
}
详细
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3560kb
input:
4 7 3 1 5 2
output:
result:
wrong answer Unexpected EOF in the participants output