제출 #921102

#제출 시각아이디문제언어결과실행 시간메모리
921102shoryu386Kitchen (BOI19_kitchen)C++17
0 / 100
141 ms262144 KiB
#include <bits/stdc++.h>
using namespace std;
 
#define int long long
 
main(){
	ios_base::sync_with_stdio(0); cin.tie(0);
	
	int n, m, k; cin >> n >> m >> k;
	
	int buckets[n], balls[m];
	
	for (int x = 0; x < n; x++) cin >> buckets[x];
	for (int x = 0; x < m; x++) cin >> balls[x];
	
	#define IMP cout << "Impossible"; return 0;
	
	bool dead = false;
	for (int x = 0; x < n; x++){
		if (buckets[x] < k){
			dead = true;
		}
	}
	if (dead) {IMP;}
	
	int bucketsum = 0;
	for (int x = 0; x < n; x++){
		bucketsum += buckets[x];
	}
	
	
	#define BSMAX 100000
	bitset<BSMAX> hmm[m+1][n*k+1];
	
	hmm[0][n*k][0] = 1;
	for (int x = 0; x < m; x++){
		for (int z = 0; z <= n*k; z++){

			hmm[x+1][max(0LL, z - min(balls[x], n))] |= (hmm[x][z] << balls[x]);
			hmm[x+1][z] |= hmm[x][z];
		}
	}
	
	int ans = -1;
	for (int x = bucketsum; x < BSMAX; x++){
		if (hmm[m][x][0]){
			ans = x-bucketsum;
			break;
		}
	}
		
	if (ans == -1) cout << "Impossible";
	else cout << ans;
	
}

컴파일 시 표준 에러 (stderr) 메시지

kitchen.cpp:6:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    6 | 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...