Submission #1167047

#TimeUsernameProblemLanguageResultExecution timeMemory
1167047sasdeKitchen (BOI19_kitchen)C++20
100 / 100
122 ms222536 KiB

#include<bits/stdc++.h>
#define int long long
#define task "bbd"
#define ii pair<int,int>
#define iii pair<int,ii>
#define iv pair<ii,ii>
#define se second
#define fi first
#define ffi fi.fi
#define sfi se.fi
#define sse se.se
#define fse fi.se
#define lt(i, c, d) for(int i = c; i <= d; ++i)
#define fl(i, c, d) for(int i = d; i >= c; --i)
#define pb push_back
#define emb emplace_back
#define emf emplace_front
#define em emplace
using namespace std;
const int N=3e2+5,lg=20,mod=1e9+7;
int a[N],m,n,k,ans,b[N],dp[N][N*N],sum,s;
main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    // freopen(task".inp","r",stdin);
    // freopen(task"a.out","w",stdout);
    cin >> n >> m >> k;
    for(int i=1;i<=n;++i){
            cin >> a[i];
            if(a[i]<k){
                cout <<"Impossible";
                return 0;
            }
            s+=a[i];

    }
    for(int i=1;i<=m;++i){
            cin >> b[i];
            sum+=b[i];
    }
    memset(dp,-0x3f,sizeof dp);
    dp[0][0]=0;

for(int i=1;i<=m;++i){
    for(int j=0;j<=sum;++j){
        dp[i][j]=dp[i-1][j];
        if(j>=b[i])dp[i][j]=max(dp[i][j],dp[i-1][j-b[i]]+min(b[i],n));
    }
}
for(int j=s;j<=sum;++j){
    if(dp[m][j]>=n*k){
        cout <<j-s;return 0;
    }
}

    cout<<"Impossible";

}

Compilation message (stderr)

kitchen.cpp:23:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   23 | main()
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...