QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#142368#1362. Bad PackingA3bat_team_f_Masr#RE 0ms0kbC++14962b2023-08-19 00:35:582023-08-19 00:35:58

Judging History

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

  • [2023-08-19 00:35:58]
  • 评测
  • 测评结果:RE
  • 用时:0ms
  • 内存:0kb
  • [2023-08-19 00:35:58]
  • 提交

answer

#include <bits/stdc++.h>
#include <iomanip>
#include <algorithm>
#include <numeric>
using namespace std;
typedef long long ll;
#define IO ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);

const int N=1e5+5;
bool dp[1005][N],vis[1005][N];
int a[1005];
int mn,n,c;
bool solve(int id,int rem)
{

    if(id==n+1)return rem==0;
    bool &ret=dp[id][rem];
    if(vis[id][rem])return ret;
    vis[id][rem]=1;
    ret=solve(id+1,rem);
    if(rem>=a[id])ret|=solve(id+1,rem-a[id]);
    return ret;
}
int main()
{
    // IO
    cin>>n>>c;
    for(int i=1;i<=n;i++)cin>>a[i];
    sort(a+1,a+n+1);
    int sum=0;
    int mx=0;
    for(int i=0;i<=n;i++)
    {
        if(sum>c)break;
        mn=a[i];
        int tmp=c-sum;
        for(int i=0;i<mn;i++)
        {
            if(tmp-i<0)break;
            if(solve(i+1,tmp-i))mx=max(mx,i);
        }
        sum+=a[i];
    }
    cout<<c-mx;
    return 0;
}

詳細信息

Test #1:

score: 0
Runtime Error

input:

4 10
9
6
5
7

output:


result: