Submission #567318

#TimeUsernameProblemLanguageResultExecution timeMemory
567318DodoKitchen (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;
  vector<ll>v(m);
  ll sum=0;
  for(int i=0;i<n;i++)
  {
    ll x;
    cin>>x;
    sum+=x;
  }

  for(int i=0;i<m;i++)cin>>v[i];
  sort(v.begin(),v.end());

  ll u=lower_bound(v.begin(),v.end(),sum)-v.begin();
  ll ans=-1;

  if(u!=v.size())
    ans=v[u]-sum;

  for(int i=1;i<m;i++)
  {
    v[i]+=v[i-1];
  }

  u=lower_bound(v.begin(),v.end(),sum)-v.begin();
  if(u==v.size()&&ans==-1)cout<<"Impossible";
  else
  {
    ll x=v[u];
    for(int i=0;i<u;i++)
      if(x-v[i]>=sum)x-=v[i];

    x=x-sum;
    ans=max(ans,x);
    cout <<ans<<endl;
  }
  return 0;
}
/*
3 3 1
3 3 2
3 3 3
*/

Compilation message (stderr)

kitchen.cpp: In function 'int main()':
kitchen.cpp:32: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]
   32 |   if(u!=v.size())
      |      ~^~~~~~~~~~
kitchen.cpp:41: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]
   41 |   if(u==v.size()&&ans==-1)cout<<"Impossible";
      |      ~^~~~~~~~~~
#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...