Submission #423251

#TimeUsernameProblemLanguageResultExecution timeMemory
423251abdzagKitchen (BOI19_kitchen)C++17
0 / 100
1087 ms146652 KiB
#include<bits/stdc++.h> #include<unordered_map> #define rep(i,a,b) for(int i=int(a);i<int(b);i++) #define rrep(i,a,b) for(int i=int(a);i>int(b);i--) #define trav(a,v) for(auto& a: v) #define sz(v) v.size() #define all(v) v.begin(),v.end() #define vi vector<int> typedef long long ll; typedef long double ld; typedef unsigned long long ull; const long long inf = 1e15; using namespace std; int main() { cin.sync_with_stdio(false); ll n, m, k; cin >> n >> m >> k; vector<ll> v(n); vector<ll> v2(m); rep(i, 0, n)cin >> v[i]; rep(i, 0, m)cin >> v2[i]; ll sum = 0; rep(i, 0, n)sum += v[i]; set<ll> s; vector<bool> dp(1e7); dp[0] = 1; rep(i, 0, m) { rep(j, 0, 1e7) { if (dp[j] && j + v2[i] < 1e7) { dp[j + v2[i]] = 1; } } } rep(i, 0, 1e7)if (dp[i])s.insert(i); if (s.lower_bound(sum) == s.end())cout << "impossible" << endl; else cout << *(s.lower_bound(sum)) - sum << endl; return 0; }
#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...