QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#394736 | #1362. Bad Packing | Al-Hassan_Mohamed# | WA | 0ms | 3856kb | C++20 | 1.1kb | 2024-04-20 18:49:48 | 2024-04-20 18:49:49 |
Judging History
answer
#include <bits/stdc++.h>
#define sz(x) (int)x.size()
#define bigint __int128
#define el '\n'
#define ll long long
#define ld long double
using namespace std;
const int N = 1002, M = 1e5 + 10;
bitset<M> dp[N];
bool vis[M];
int c, n;
int arr[N];
void solve(int idx, int sum) {
vis[sum] = 1;
if (dp[idx][sum])return;
if (sum > c or idx == n)return;
vis[sum] = 1;
dp[idx][sum] = 1;
solve(idx + 1, sum + arr[idx]);
solve(idx + 1, sum);
}
void acc() {
cin >> n >> c;
int mn = 1e9;
for (int i = 0; i < n; i++) {
int x;
cin >> x;
mn = min(mn, x);
arr[i] = x;
}
solve(0, 0);
vector<int> items;
for (int i = 0; i <= c; i++)if (vis[i])items.push_back(i);
int lst = 0;
for (int i = 0; i < sz(items); i++) {
if (items[i] + mn <= c) {
lst = items[i];
} else {
lst = items[i];
break;
}
}
cout << lst << el;
}
int main() {
cout.tie(0);
cin.tie(0);
ios_base::sync_with_stdio(0);
int t = 1;
// cin >> t;
while (t--)acc();
}
詳細信息
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3856kb
input:
4 10 9 6 5 7
output:
6
result:
wrong answer 1st lines differ - expected: '5', found: '6'