제출 #729074

#제출 시각아이디문제언어결과실행 시간메모리
729074WonderfulWhaleKitchen (BOI19_kitchen)C++17
100 / 100
34 ms1032 KiB
#include<bits/stdc++.h> using namespace std; #define int int64_t #define pb push_back #define st first #define nd second #define pii pair<int, int> #define all(x) (x).begin(), (x).end() #define sz(x) (int)(x).size() int dp[90009]; int32_t main() { ios_base::sync_with_stdio(false); cin.tie(NULL); for(int i=0;i<=300*300;i++) dp[i] = -1e18; dp[0] = 0; int n, m, k; cin >> n >> m >> k; int sum = 0; for(int i=0;i<n;i++) { int x; cin >> x; if(x<k) { cout << "Impossible\n"; return 0; } sum+=x; } for(int i=0;i<m;i++) { int x; cin >> x; for(int j=300*300;j>=0;j--) { if(j+x<=300*300) { dp[j+x] = max(dp[j+x], dp[j]+min(n, x)); } } } for(int i=sum;i<=300*300;i++) { if(dp[i]>=n*k) { cout << i-sum << "\n"; return 0; } } cout << "Impossible\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...