Submission #567157

#TimeUsernameProblemLanguageResultExecution timeMemory
567157almothana05Kitchen (BOI19_kitchen)C++14
100 / 100
179 ms188160 KiB
#include<bits/stdc++.h> #define mod 1000000007 #define inf 100000000000000000 using namespace std; vector<int>num, chef , pow2; pair<int ,int>mask[40000]; int sub[400][300 * 400]; void im(){ cout << "Impossible\n"; } string bi(int x){ string cmp; while(x){ if(x % 2 == 0){ cmp += '0'; } else{ cmp += '1'; } x /= 2; } return cmp; } int main(){ // ios_base::sync_with_stdio(false); // cin.tie(NULL); for(int i = 1; i < 1000000 ; i *= 2){ pow2.push_back(i); } int menge, numm , nummer , koch , mini , re = 0 , rechner = 0; cin >> menge >> koch >> mini; if(koch < mini){ im(); return 0; } for(int i = 0 ; i < menge ; i++){ cin >> numm; re += numm; num.push_back(numm); if(numm < mini){ im(); return 0; } } for(int i = 0 ; i < koch ; i++){ cin >> numm; rechner += numm; chef.push_back(numm); } /////////////////////////////////////////////////////////////////////////////////////////// for(int i = 0 ; i < 400 ; i++){ for(int j = 0 ; j < 400 * 300 ; j++){ sub[i][j] = mod; } } sub[0][0] = menge * mini; for(int i = 0 ; i < koch ; i++){ for(int j = 0 ; j <= i * 300 ; j++){ if(sub[i][j] != mod){ sub[i + 1][j] = min(sub[i + 1][j] ,sub[i][j]); sub[i + 1][j + chef[i]] = min(sub[i + 1][j + chef[i]] ,sub[i][j] - min(menge , chef[i])) ; // cout << "ja\n"; } } // cout << "\n"; } int erg = -1; for(int i = re ; i <= rechner ; i++){ // cout << i << ' '; if(sub[koch][i] <= 0){ // cout << "ja\n"; erg = i - re ; break; } } if(erg == -1){ im(); return 0; } else{ cout << erg << "\n"; } return 0; }

Compilation message (stderr)

kitchen.cpp: In function 'int main()':
kitchen.cpp:30:23: warning: unused variable 'nummer' [-Wunused-variable]
   30 |    int menge,  numm , nummer , koch , mini , re = 0 , rechner = 0;
      |                       ^~~~~~
#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...