# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
567076 | almothana05 | Kitchen (BOI19_kitchen) | C++14 | 9 ms | 980 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#define mod 1000000007
#define inf 100000000000000000
using namespace std;
vector<int>num, chef , pow2;
pair<int ,int>mask[40000];
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;
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;
chef.push_back(numm);
}
mask[0] = {menge * mini , re};
string s;
for(int i = 1 ; i < pow2[koch] ; i++){
s = bi(i);
for(int j = 0 ; j < s.size() ; j++){
if(s[j] == '1'){
mask[i] = mask[i - pow2[j]];
mask[i].first -= min(menge , chef[j]);
mask[i].second -= chef[j];
}
}
}
int erg = mod;
for(int i = 0 ; i < pow2[koch] ; i++){
if(mask[i].first <= 0 && mask[i].second <= 0){
erg = min(erg , -mask[i].second);
}
}
if(erg == mod){
im();
return 0;
}
assert(erg>= 0);
cout << erg << "\n";
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |