Submission #16062

# Submission time Handle Problem Language Result Execution time Memory
16062 2015-08-14T04:49:17 Z kaTkaHr 배낭 문제 준비하기 (GA9_invknapsack) C++14
100 / 100
0 ms 1936 KB
#include<stdio.h>
#include<vector>

using namespace std;

typedef long long ll;

ll D[305][305];
int K = 300;

vector<int> L;

void add(int x)
{
	int s = L.size(), e = s + 1;
	for (int i = 0; i <= K; i++) D[e][i] = D[s][i];
	for (int i = x; i <= K; i++) D[e][i] += D[s][i-x];
	L.push_back(x);
}

int main()
{
	ll R;
	scanf("%lld", &R);
	D[0][0] = 1;
	for(int i = 1; i <= K; i *= 2){
		add(i);
	}
	while(D[L.size()][K] + D[L.size()][K-1] <= R) add(1);
	while(D[L.size()][K] != R){
		for(int j = 1; j <= K; j++){
			if(D[L.size()][K] + D[L.size()][K-j] <= R ){
				add(j);
				break;
			}
		}
	}
	printf("%d %d\n", L.size(), K);
	for(int c : L) printf("%d ", c);
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1936 KB Output is correct
2 Correct 0 ms 1936 KB Output is correct
3 Correct 0 ms 1936 KB Output is correct
4 Correct 0 ms 1936 KB Output is correct
5 Correct 0 ms 1936 KB Output is correct
6 Correct 0 ms 1936 KB Output is correct
7 Correct 0 ms 1936 KB Output is correct
8 Correct 0 ms 1936 KB Output is correct
9 Correct 0 ms 1936 KB Output is correct
10 Correct 0 ms 1936 KB Output is correct
11 Correct 0 ms 1936 KB Output is correct
12 Correct 0 ms 1936 KB Output is correct
13 Correct 0 ms 1936 KB Output is correct
14 Correct 0 ms 1936 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1936 KB Output is correct
2 Correct 0 ms 1936 KB Output is correct
3 Correct 0 ms 1936 KB Output is correct
4 Correct 0 ms 1936 KB Output is correct
5 Correct 0 ms 1936 KB Output is correct
6 Correct 0 ms 1936 KB Output is correct
7 Correct 0 ms 1936 KB Output is correct
8 Correct 0 ms 1936 KB Output is correct
9 Correct 0 ms 1936 KB Output is correct
10 Correct 0 ms 1936 KB Output is correct
11 Correct 0 ms 1936 KB Output is correct
12 Correct 0 ms 1936 KB Output is correct
13 Correct 0 ms 1936 KB Output is correct
14 Correct 0 ms 1936 KB Output is correct
15 Correct 0 ms 1936 KB Output is correct
16 Correct 0 ms 1936 KB Output is correct
17 Correct 0 ms 1936 KB Output is correct
18 Correct 0 ms 1936 KB Output is correct
19 Correct 0 ms 1936 KB Output is correct
20 Correct 0 ms 1936 KB Output is correct
21 Correct 0 ms 1936 KB Output is correct
22 Correct 0 ms 1936 KB Output is correct
23 Correct 0 ms 1936 KB Output is correct
24 Correct 0 ms 1936 KB Output is correct
25 Correct 0 ms 1936 KB Output is correct
26 Correct 0 ms 1936 KB Output is correct
27 Correct 0 ms 1936 KB Output is correct
28 Correct 0 ms 1936 KB Output is correct
29 Correct 0 ms 1936 KB Output is correct
30 Correct 0 ms 1936 KB Output is correct
31 Correct 0 ms 1936 KB Output is correct
32 Correct 0 ms 1936 KB Output is correct
33 Correct 0 ms 1936 KB Output is correct
34 Correct 0 ms 1936 KB Output is correct
35 Correct 0 ms 1936 KB Output is correct
36 Correct 0 ms 1936 KB Output is correct
37 Correct 0 ms 1936 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1936 KB Output is correct
2 Correct 0 ms 1936 KB Output is correct
3 Correct 0 ms 1936 KB Output is correct
4 Correct 0 ms 1936 KB Output is correct
5 Correct 0 ms 1936 KB Output is correct
6 Correct 0 ms 1936 KB Output is correct
7 Correct 0 ms 1936 KB Output is correct
8 Correct 0 ms 1936 KB Output is correct
9 Correct 0 ms 1936 KB Output is correct
10 Correct 0 ms 1936 KB Output is correct
11 Correct 0 ms 1936 KB Output is correct
12 Correct 0 ms 1936 KB Output is correct
13 Correct 0 ms 1936 KB Output is correct
14 Correct 0 ms 1936 KB Output is correct
15 Correct 0 ms 1936 KB Output is correct
16 Correct 0 ms 1936 KB Output is correct
17 Correct 0 ms 1936 KB Output is correct
18 Correct 0 ms 1936 KB Output is correct
19 Correct 0 ms 1936 KB Output is correct
20 Correct 0 ms 1936 KB Output is correct
21 Correct 0 ms 1936 KB Output is correct
22 Correct 0 ms 1936 KB Output is correct
23 Correct 0 ms 1936 KB Output is correct
24 Correct 0 ms 1936 KB Output is correct
25 Correct 0 ms 1936 KB Output is correct
26 Correct 0 ms 1936 KB Output is correct
27 Correct 0 ms 1936 KB Output is correct
28 Correct 0 ms 1936 KB Output is correct
29 Correct 0 ms 1936 KB Output is correct
30 Correct 0 ms 1936 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1936 KB Output is correct
2 Correct 0 ms 1936 KB Output is correct
3 Correct 0 ms 1936 KB Output is correct
4 Correct 0 ms 1936 KB Output is correct
5 Correct 0 ms 1936 KB Output is correct
6 Correct 0 ms 1936 KB Output is correct
7 Correct 0 ms 1936 KB Output is correct
8 Correct 0 ms 1936 KB Output is correct
9 Correct 0 ms 1936 KB Output is correct
10 Correct 0 ms 1936 KB Output is correct
11 Correct 0 ms 1936 KB Output is correct
12 Correct 0 ms 1936 KB Output is correct
13 Correct 0 ms 1936 KB Output is correct
14 Correct 0 ms 1936 KB Output is correct
15 Correct 0 ms 1936 KB Output is correct
16 Correct 0 ms 1936 KB Output is correct
17 Correct 0 ms 1936 KB Output is correct
18 Correct 0 ms 1936 KB Output is correct
19 Correct 0 ms 1936 KB Output is correct
20 Correct 0 ms 1936 KB Output is correct
21 Correct 0 ms 1936 KB Output is correct
22 Correct 0 ms 1936 KB Output is correct
23 Correct 0 ms 1936 KB Output is correct
24 Correct 0 ms 1936 KB Output is correct
25 Correct 0 ms 1936 KB Output is correct
26 Correct 0 ms 1936 KB Output is correct
27 Correct 0 ms 1936 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1936 KB Output is correct
2 Correct 0 ms 1936 KB Output is correct
3 Correct 0 ms 1936 KB Output is correct
4 Correct 0 ms 1936 KB Output is correct
5 Correct 0 ms 1936 KB Output is correct
6 Correct 0 ms 1936 KB Output is correct
7 Correct 0 ms 1936 KB Output is correct
8 Correct 0 ms 1936 KB Output is correct
9 Correct 0 ms 1936 KB Output is correct
10 Correct 0 ms 1936 KB Output is correct
11 Correct 0 ms 1936 KB Output is correct
12 Correct 0 ms 1936 KB Output is correct
13 Correct 0 ms 1936 KB Output is correct
14 Correct 0 ms 1936 KB Output is correct
15 Correct 0 ms 1936 KB Output is correct
16 Correct 0 ms 1936 KB Output is correct
17 Correct 0 ms 1936 KB Output is correct
18 Correct 0 ms 1936 KB Output is correct
19 Correct 0 ms 1936 KB Output is correct
20 Correct 0 ms 1936 KB Output is correct
21 Correct 0 ms 1936 KB Output is correct
22 Correct 0 ms 1936 KB Output is correct
23 Correct 0 ms 1936 KB Output is correct
24 Correct 0 ms 1936 KB Output is correct
25 Correct 0 ms 1936 KB Output is correct
26 Correct 0 ms 1936 KB Output is correct
27 Correct 0 ms 1936 KB Output is correct
28 Correct 0 ms 1936 KB Output is correct
29 Correct 0 ms 1936 KB Output is correct
30 Correct 0 ms 1936 KB Output is correct
31 Correct 0 ms 1936 KB Output is correct
32 Correct 0 ms 1936 KB Output is correct
33 Correct 0 ms 1936 KB Output is correct
34 Correct 0 ms 1936 KB Output is correct