Submission #567225

#TimeUsernameProblemLanguageResultExecution timeMemory
567225DodoKitchen (BOI19_kitchen)C++14
0 / 100
1 ms212 KiB
#include <bits/stdc++.h>
#define ll long long
#define endl '\n'
#define pb push_back

using namespace std;
const ll mx=1007, INF=1e18L+5;

int main()
{
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);

  ll n,m,k;
  cin>>n>>m>>k;
  ll sum=0;
  for(int i=0;i<n;i++)
  {
    ll x;
    cin>>x;
    sum+=x;
  }

  vector<ll>v(m);
  for(int i=0;i<m;i++)cin>>v[i];
  for(ll bm=0;bm<=(1<<m);bm++)
  {
    ll su=0;
    for(int i=0;i<m;i++)
    {
      if(bm&(1<<i))
      {
        su+=v[i];
      }
    }
    if(su>=sum)v.push_back(su);
  }

  sort(v.begin(),v.end());
  ll u=lower_bound(v.begin(),v.end(),sum)-v.begin();
  if(u!=v.size())
  {
    cout<<v[u]-sum;
  }
  else cout<<"Impossible";
 return 0;
}
/*
3 3 1
3 3 2
3 3 3
*/

Compilation message (stderr)

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