Submission #169377

# Submission time Handle Problem Language Result Execution time Memory
169377 2019-12-20T07:09:42 Z Atalasion Kitchen (BOI19_kitchen) C++14
0 / 100
434 ms 4088 KB
//khodaya khodet komak kon
#include <bits/stdc++.h>

#define F first
#define S second
#define pb push_back
#define all(x) x.begin(), x.end()
#pragma GCC optimise ("ofast")
#pragma GCC optimise("unroll-loops")

using namespace std;

typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;

const int N = 300 + 10;
const ll MOD = 1000000000 + 7;
const ll INF = 1000000000000000000;
const ll LOG = 25;

int n, m, k, a[N], b[N];
bitset<N * N> dp[N];

int main(){
	ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	cin >> n >> m >> k;
	for (int i = 1; i <= n; i++) cin >> a[i];
	for (int i = 1; i <= m; i++) cin >> b[i];
	int sum = 0, sum1 = 0;
	sort(a + 1, a + n + 1);
	if (a[1] < k) return cout << "Impossible", 0;
	if (m < k) return cout << "Impossible", 0;
	for (int i = 1; i <= n; i++) sum += a[i];
	for (int i = 1; i <= m; i++) sum1 += b[i];
	if (sum1 < sum) return cout << "Impossible",0;
	dp[0][0] = 1;
	for (int i = 1; i <= m; i++){
		for(int j = N - 1; j >= 0; j--){
			dp[j] |= (dp[j - 1] << min(n, b[i])); 
		}
	}
	//cout << "YES" << endl;
	int ans = 100000000;
	for (int i = k; i < N; i++){
		for (int j = sum; j < N * N; j++){
			if (dp[i][j]){
				ans = min(j, ans);
			}
		}
	}
	cout << ans - sum;










	return 0;
}

Compilation message

kitchen.cpp:8:0: warning: ignoring #pragma GCC optimise [-Wunknown-pragmas]
 #pragma GCC optimise ("ofast")
 
kitchen.cpp:9:0: warning: ignoring #pragma GCC optimise [-Wunknown-pragmas]
 #pragma GCC optimise("unroll-loops")
# Verdict Execution time Memory Grader output
1 Incorrect 49 ms 4088 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 49 ms 4088 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 434 ms 4080 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 105 ms 3960 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 49 ms 4088 KB Output isn't correct
2 Halted 0 ms 0 KB -