QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#394736#1362. Bad PackingAl-Hassan_Mohamed#WA 0ms3856kbC++201.1kb2024-04-20 18:49:482024-04-20 18:49:49

Judging History

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

  • [2024-04-20 18:49:49]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3856kb
  • [2024-04-20 18:49:48]
  • 提交

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'