Submission #1320636

#TimeUsernameProblemLanguageResultExecution timeMemory
1320636d_kKitchen (BOI19_kitchen)C++20
0 / 100
1096 ms332 KiB
							/*Bismillahir Rahmanir Raheem*/
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define F first
#define S second
#define pb push_back

const int inf = (1LL << 60);

void ma1n() {
	int n, m, k, tm = 0;
	cin>>n>>m>>k;
	vector<int> a(n + 1), b(m + 1);
	for(int i = 1; i <= n; i++) {
		cin>>a[i];
		tm += a[i];
		if(a[i] < k){
			cout<<"Impossible\n";
			return;
		}
	}
	for(int i = 1; i <= m; i++) cin>>b[i];
	if(k > m) {
		cout<<"Impossible\n";
		return;
	}
	int ans = inf;
	int n1 = (1LL << m);
	for(int mask = 0; mask < n1; mask++){
		int col = __builtin_popcount(mask);
		int sum = 0;
		if(col < k) continue;
		for(int i = 0; i < m; i++){
			int bit = (1 << i);
			if(mask & bit){
				if(b[i + 1] < n) continue;
				sum += b[i + 1];
			}
//			cout<<mask<<" "<<i<<" "<<sum<<" chekc\n";
		}
		if(sum >= tm) ans = min(ans, sum - tm);
	}
	cout<<ans<<"\n";
}

main() {
	ios::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	int T = 1;
//	cin>>T;
	while(T--) {
		ma1n();
	}
}

Compilation message (stderr)

kitchen.cpp:48:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   48 | main() {
      | ^~~~
#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...