Submission #1166750

#TimeUsernameProblemLanguageResultExecution timeMemory
1166750son2008Kitchen (BOI19_kitchen)C++20
0 / 100
63 ms107176 KiB
#include<bits/stdc++.h> using namespace std; #define task "task" #define ii pair<int,int> #define fi first #define se second //#define int long long #define ll long long #define ld double #define mp make_pair #define lg2 30 #define iii pair<int,ii> #define iiii pair<ii,ii> #define base 29 #define eps 1e-8 int dx[]= {0LL,0LL,1,-1,1,1,-1,-1}; int dy[]= {1,-1,0LL,0LL,1,-1,1,-1}; const int maxn=3e2+1; const int mod=1e9+7; int n,m,k,dp[maxn][maxn*maxn],a[maxn],b[maxn]; void init() { cin>>n>>m>>k; int s=0,sum=0; for(int i=1;i<=n;i++) { cin>>a[i]; s+=a[i]; } for(int i=1;i<=m;i++) { cin>>b[i]; sum+=b[i]; } for(int i=1;i<=n;i++) { if(a[i]<k) { cout<<"Impossible"; return; } } 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(n,b[i])); } } cout<<dp[m][9]<<'\n'; for(int i=s;i<=sum;i++) { if(dp[m][i]>=n*k) { cout<<i-s; return; } } cout<<"Impossible"; } void process() { } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); if(fopen(task".inp","r")) { freopen(task".inp","r",stdin); freopen(task".out","w",stdout); } init(); process(); cerr <<endl<< "TIME : " << clock() * 0.001 << "s" << endl ; }

Compilation message (stderr)

kitchen.cpp: In function 'int main()':
kitchen.cpp:75:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   75 |         freopen(task".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
kitchen.cpp:76:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   76 |         freopen(task".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#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...