Submission #1004572

#TimeUsernameProblemLanguageResultExecution timeMemory
1004572HasanV11010238Kitchen (BOI19_kitchen)C++17
9 / 100
11 ms432 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define INF 1000000000 int main(){ ll n, m, k, su = 0, bsu = 0; cin>>n>>m>>k; bool ca = 0; if (m < k){ ca = 1; } vector<ll> a(n + 1), b(m + 1); for (int i = 0; i< n; i++){ cin>>a[i]; su += a[i]; if (a[i] < k){ ca = 1; } } for (int i = 0; i < m; i++){ cin>>b[i]; bsu += b[i]; } if (ca || bsu < su){ cout<<"Impossible"; return 0; } ll ans = INF; int ti = (1<<m); for (int i = 0; i < ti; i++){ ll msu = 0; vector<int> ti(n, k), mval; for (int j = 0; j < m; j++){ int val = i & (1<<j); if (val != 0){ msu += b[j]; mval.push_back(b[j]); } } int le = n; for (int j = 0; j < n; j++){ for (int k = 0; k < mval.size(); k++){ if (mval[k] != 0 && ti[j] != 0){ mval[k]--; ti[j]--; if (ti[j] == 0){ le--; } } } } if (le == 0){ if (msu >= su){ ans = min(ans, msu - su); } } } cout<<ans; }

Compilation message (stderr)

kitchen.cpp: In function 'int main()':
kitchen.cpp:42:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |             for (int k = 0; k < mval.size(); k++){
      |                             ~~^~~~~~~~~~~~~
#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...