답안 #36868

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
36868 2017-12-16T21:16:51 Z JustInCase Bootfall (IZhO17_bootfall) C++14
13 / 100
0 ms 5108 KB
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;

const int MAX_N = 505;
const int MAX_SUM = 500 * 500 + 5;

int a[MAX_N], dp[MAX_SUM], aux[MAX_SUM], cntOkWith[MAX_SUM];

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);

	int n;
	cin >> n;

	int sum = 0;
	dp[0] = 1;
	for(int i = 0; i < n; i++) {
		cin >> a[i];

		for(int j = sum; j >= 0; j--) {
			dp[j + a[i]] += dp[j];
		}

		sum += a[i];
	}

	if(sum % 2 != 0 || dp[sum / 2] == 0) {
		cout << 0 << endl;
		return 0;
	}

	for(int i = 0; i < n; i++) {
		for(int j = 0; j <= sum; j++) {
			aux[j] = dp[j];
		}
		for(int j = a[i]; j <= sum; j++) {
			aux[j] -= aux[j - a[i]];
		}
		for(int j = 1; j <= sum; j++) {
			int newSum = sum - a[i] + j;
			if(newSum % 2 == 0 && aux[newSum / 2] != 0) {
				cntOkWith[j]++;
			}
		}
	}

	vector< int > ans;
	for(int i = 1; i <= sum; i++) {
		if(cntOkWith[i] == n) {
			ans.push_back(i);
		}
	}

	cout << ans.size() << endl;
	for(int x : ans) {
		cout << x << " ";
	}
	cout << endl;

	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 5108 KB Output is correct
2 Correct 0 ms 5108 KB Output is correct
3 Correct 0 ms 5108 KB Output is correct
4 Correct 0 ms 5108 KB Output is correct
5 Correct 0 ms 5108 KB Output is correct
6 Correct 0 ms 5108 KB Output is correct
7 Correct 0 ms 5108 KB Output is correct
8 Correct 0 ms 5108 KB Output is correct
9 Correct 0 ms 5108 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 5108 KB Output is correct
2 Correct 0 ms 5108 KB Output is correct
3 Correct 0 ms 5108 KB Output is correct
4 Correct 0 ms 5108 KB Output is correct
5 Correct 0 ms 5108 KB Output is correct
6 Correct 0 ms 5108 KB Output is correct
7 Correct 0 ms 5108 KB Output is correct
8 Correct 0 ms 5108 KB Output is correct
9 Correct 0 ms 5108 KB Output is correct
10 Correct 0 ms 5108 KB Output is correct
11 Correct 0 ms 5108 KB Output is correct
12 Correct 0 ms 5108 KB Output is correct
13 Correct 0 ms 5108 KB Output is correct
14 Correct 0 ms 5108 KB Output is correct
15 Correct 0 ms 5108 KB Output is correct
16 Correct 0 ms 5108 KB Output is correct
17 Correct 0 ms 5108 KB Output is correct
18 Correct 0 ms 5108 KB Output is correct
19 Correct 0 ms 5108 KB Output is correct
20 Correct 0 ms 5108 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 5108 KB Output is correct
2 Correct 0 ms 5108 KB Output is correct
3 Correct 0 ms 5108 KB Output is correct
4 Correct 0 ms 5108 KB Output is correct
5 Correct 0 ms 5108 KB Output is correct
6 Correct 0 ms 5108 KB Output is correct
7 Correct 0 ms 5108 KB Output is correct
8 Correct 0 ms 5108 KB Output is correct
9 Correct 0 ms 5108 KB Output is correct
10 Correct 0 ms 5108 KB Output is correct
11 Correct 0 ms 5108 KB Output is correct
12 Correct 0 ms 5108 KB Output is correct
13 Correct 0 ms 5108 KB Output is correct
14 Correct 0 ms 5108 KB Output is correct
15 Correct 0 ms 5108 KB Output is correct
16 Correct 0 ms 5108 KB Output is correct
17 Correct 0 ms 5108 KB Output is correct
18 Correct 0 ms 5108 KB Output is correct
19 Correct 0 ms 5108 KB Output is correct
20 Correct 0 ms 5108 KB Output is correct
21 Correct 0 ms 5108 KB Output is correct
22 Correct 0 ms 5108 KB Output is correct
23 Correct 0 ms 5108 KB Output is correct
24 Runtime error 0 ms 5108 KB Execution killed because of forbidden syscall writev (20)
25 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 5108 KB Output is correct
2 Correct 0 ms 5108 KB Output is correct
3 Correct 0 ms 5108 KB Output is correct
4 Correct 0 ms 5108 KB Output is correct
5 Correct 0 ms 5108 KB Output is correct
6 Correct 0 ms 5108 KB Output is correct
7 Correct 0 ms 5108 KB Output is correct
8 Correct 0 ms 5108 KB Output is correct
9 Correct 0 ms 5108 KB Output is correct
10 Correct 0 ms 5108 KB Output is correct
11 Correct 0 ms 5108 KB Output is correct
12 Correct 0 ms 5108 KB Output is correct
13 Correct 0 ms 5108 KB Output is correct
14 Correct 0 ms 5108 KB Output is correct
15 Correct 0 ms 5108 KB Output is correct
16 Correct 0 ms 5108 KB Output is correct
17 Correct 0 ms 5108 KB Output is correct
18 Correct 0 ms 5108 KB Output is correct
19 Correct 0 ms 5108 KB Output is correct
20 Correct 0 ms 5108 KB Output is correct
21 Correct 0 ms 5108 KB Output is correct
22 Correct 0 ms 5108 KB Output is correct
23 Correct 0 ms 5108 KB Output is correct
24 Runtime error 0 ms 5108 KB Execution killed because of forbidden syscall writev (20)
25 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 5108 KB Output is correct
2 Correct 0 ms 5108 KB Output is correct
3 Correct 0 ms 5108 KB Output is correct
4 Correct 0 ms 5108 KB Output is correct
5 Correct 0 ms 5108 KB Output is correct
6 Correct 0 ms 5108 KB Output is correct
7 Correct 0 ms 5108 KB Output is correct
8 Correct 0 ms 5108 KB Output is correct
9 Correct 0 ms 5108 KB Output is correct
10 Correct 0 ms 5108 KB Output is correct
11 Correct 0 ms 5108 KB Output is correct
12 Correct 0 ms 5108 KB Output is correct
13 Correct 0 ms 5108 KB Output is correct
14 Correct 0 ms 5108 KB Output is correct
15 Correct 0 ms 5108 KB Output is correct
16 Correct 0 ms 5108 KB Output is correct
17 Correct 0 ms 5108 KB Output is correct
18 Correct 0 ms 5108 KB Output is correct
19 Correct 0 ms 5108 KB Output is correct
20 Correct 0 ms 5108 KB Output is correct
21 Correct 0 ms 5108 KB Output is correct
22 Correct 0 ms 5108 KB Output is correct
23 Correct 0 ms 5108 KB Output is correct
24 Runtime error 0 ms 5108 KB Execution killed because of forbidden syscall writev (20)
25 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 5108 KB Output is correct
2 Correct 0 ms 5108 KB Output is correct
3 Correct 0 ms 5108 KB Output is correct
4 Correct 0 ms 5108 KB Output is correct
5 Correct 0 ms 5108 KB Output is correct
6 Correct 0 ms 5108 KB Output is correct
7 Correct 0 ms 5108 KB Output is correct
8 Correct 0 ms 5108 KB Output is correct
9 Correct 0 ms 5108 KB Output is correct
10 Correct 0 ms 5108 KB Output is correct
11 Correct 0 ms 5108 KB Output is correct
12 Correct 0 ms 5108 KB Output is correct
13 Correct 0 ms 5108 KB Output is correct
14 Correct 0 ms 5108 KB Output is correct
15 Correct 0 ms 5108 KB Output is correct
16 Correct 0 ms 5108 KB Output is correct
17 Correct 0 ms 5108 KB Output is correct
18 Correct 0 ms 5108 KB Output is correct
19 Correct 0 ms 5108 KB Output is correct
20 Correct 0 ms 5108 KB Output is correct
21 Correct 0 ms 5108 KB Output is correct
22 Correct 0 ms 5108 KB Output is correct
23 Correct 0 ms 5108 KB Output is correct
24 Runtime error 0 ms 5108 KB Execution killed because of forbidden syscall writev (20)
25 Halted 0 ms 0 KB -