Submission #925600

#TimeUsernameProblemLanguageResultExecution timeMemory
925600vjudge1Kitchen (BOI19_kitchen)C++17
9 / 100
1 ms348 KiB
// #pragma GCC target ("avx2") // #pragma GCC optimization ("O3") // #pragma GCC optimization ("unroll-loops") #include <bits/stdc++.h> #define int long long #define ff first #define ss second #define pb push_back #define yes cout<<"Yes\n" #define no cout<<"No\n" #define no1 cout<<"-1\n" using namespace std; const int N = 500; const int M = 2e5+100; const int INF = 1e18; const int mod = 998244353; // int binpow (int a, int n) { // if (n == 0) // return 1; // if (n % 2 == 1) // return (binpow (a, n-1) * a)%mod; // else { // int b = binpow (a, n/2) % mod; // return (b * b)%mod; // } // } int n,m,k; int a[N]; int b[N]; void solve(){ cin>>n>>m>>k; if(m>2){ cout<<"Impossible\n"; return; } for(int i = 1;i<=n;i++){ cin>>a[i]; } for(int i = 1;i<=m;i++){ cin>>b[i]; } if(k>2){ cout<<"Impossible\n"; return; } if(k==2){ if(m==1){ cout<<"Impossible\n"; return; } int sum = 0; for(int i = 1;i<=n;i++){ if(a[i] == 1){ cout<<"Impossible\n"; return; } sum+=a[i]; } if(b[1]+b[2] < sum){ cout<<"Impossible\n"; return; } cout<<b[1]+b[2]-sum; } if(k==1){ int sum = 0; for(int i = 1;i<=n;i++){ sum+=a[i]; } if(b[1]+b[2] < sum){ cout<<"Impossible\n"; return; } int x,y,z; x = y = z = INF; z = b[1]+b[2]-sum; if(b[1]>=sum) x = b[1]-sum; if(b[2]>=sum) y = b[2]-sum; cout<<min({x,y,z}); } } signed main(){ ios_base::sync_with_stdio(0); cin.tie(nullptr); // cout.tie(nullptr); int t = 1; // cin>>t; // cout<<""; for(int i = 1;i<=t;i++){ solve(); // cout<<'\n'; } }
#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...