Submission #169370

# Submission time Handle Problem Language Result Execution time Memory
169370 2019-12-20T06:51:18 Z Atalasion Kitchen (BOI19_kitchen) C++14
9 / 100
434 ms 4216 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 << "Impossilbe", 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] << 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 Correct 50 ms 4088 KB Output is correct
2 Correct 46 ms 4216 KB Output is correct
3 Correct 53 ms 3960 KB Output is correct
4 Correct 49 ms 3960 KB Output is correct
5 Correct 52 ms 3960 KB Output is correct
6 Correct 3 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 50 ms 4088 KB Output is correct
2 Correct 46 ms 4216 KB Output is correct
3 Correct 53 ms 3960 KB Output is correct
4 Correct 49 ms 3960 KB Output is correct
5 Correct 52 ms 3960 KB Output is correct
6 Correct 3 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 69 ms 4132 KB Output is correct
10 Correct 68 ms 4088 KB Output is correct
11 Incorrect 68 ms 3932 KB Output isn't correct
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 434 ms 4048 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 105 ms 4052 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 50 ms 4088 KB Output is correct
2 Correct 46 ms 4216 KB Output is correct
3 Correct 53 ms 3960 KB Output is correct
4 Correct 49 ms 3960 KB Output is correct
5 Correct 52 ms 3960 KB Output is correct
6 Correct 3 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 69 ms 4132 KB Output is correct
10 Correct 68 ms 4088 KB Output is correct
11 Incorrect 68 ms 3932 KB Output isn't correct
12 Halted 0 ms 0 KB -