# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
953794 | 2024-03-26T16:41:00 Z | nguyennh | Bootfall (IZhO17_bootfall) | C++14 | 1000 ms | 696 KB |
#include<bits/stdc++.h> #define el '\n' using namespace std ; int n; namespace sub_trau{ // check whether existing a way to divide array into 2 parts with sum = x; void solve(){ vector<int> a(n + 5); for ( int i = 1 ; i <= n ; i++ ) cin >> a[i]; if (n & 1){ cout << 0; return; } bool odd = false , even = false; for ( int i = 1 ; i <= n ; i++ ){ odd |= (a[i] & 1); even |= (a[i] % 2 == 0); } if (odd && even){ cout << 0; return; } int sum = accumulate(a.begin() + 1 , a.begin() + n + 1 , 0); vector<int> ans; for ( int val = odd ? 1 : 2 ; val <= sum ; val += 2 ){ vector<int> candidates; int all = sum + val; for ( int i = 1 ; i <= n ; i++ ) candidates.push_back(a[i]); candidates.push_back(val); bool check = true; for ( int turn = 0 ; turn < n + 1 ; turn++ ){ int need = all - candidates[turn]; if (need & 1){ check = false; break; } deque<int> cur; for ( int j = 0 ; j < candidates.size() ; j++ ){ if (j == turn) continue; cur.push_back(candidates[j]); } cur.push_front(-1); vector<vector<bool>> dp(n + 5 , vector<bool> (need / 2 + 5)); dp[0][0] = 1; for ( int i = 1 ; i <= n ; i++ ){ for ( int j = 0 ; j <= need / 2 ; j++ ){ dp[i][j] = dp[i - 1][j]; if (j >= cur[i] && dp[i - 1][j - cur[i]]){ dp[i][j] = 1; } } } if (!dp[n][need / 2]){ check = false; break; } } if (check) ans.push_back(val); } cout << ans.size() << el; for ( auto x : ans ) cout << x << " "; } } int32_t main (){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; sub_trau::solve(); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 3 ms | 348 KB | Output is correct |
5 | Correct | 74 ms | 440 KB | Output is correct |
6 | Correct | 1 ms | 348 KB | Output is correct |
7 | Correct | 2 ms | 348 KB | Output is correct |
8 | Correct | 147 ms | 696 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 3 ms | 348 KB | Output is correct |
5 | Correct | 74 ms | 440 KB | Output is correct |
6 | Correct | 1 ms | 348 KB | Output is correct |
7 | Correct | 2 ms | 348 KB | Output is correct |
8 | Correct | 147 ms | 696 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Correct | 34 ms | 460 KB | Output is correct |
11 | Correct | 83 ms | 348 KB | Output is correct |
12 | Correct | 10 ms | 344 KB | Output is correct |
13 | Correct | 1 ms | 348 KB | Output is correct |
14 | Correct | 92 ms | 348 KB | Output is correct |
15 | Correct | 55 ms | 348 KB | Output is correct |
16 | Correct | 83 ms | 344 KB | Output is correct |
17 | Correct | 16 ms | 348 KB | Output is correct |
18 | Correct | 50 ms | 348 KB | Output is correct |
19 | Correct | 38 ms | 348 KB | Output is correct |
20 | Correct | 36 ms | 344 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 3 ms | 348 KB | Output is correct |
5 | Correct | 74 ms | 440 KB | Output is correct |
6 | Correct | 1 ms | 348 KB | Output is correct |
7 | Correct | 2 ms | 348 KB | Output is correct |
8 | Correct | 147 ms | 696 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Correct | 34 ms | 460 KB | Output is correct |
11 | Correct | 83 ms | 348 KB | Output is correct |
12 | Correct | 10 ms | 344 KB | Output is correct |
13 | Correct | 1 ms | 348 KB | Output is correct |
14 | Correct | 92 ms | 348 KB | Output is correct |
15 | Correct | 55 ms | 348 KB | Output is correct |
16 | Correct | 83 ms | 344 KB | Output is correct |
17 | Correct | 16 ms | 348 KB | Output is correct |
18 | Correct | 50 ms | 348 KB | Output is correct |
19 | Correct | 38 ms | 348 KB | Output is correct |
20 | Correct | 36 ms | 344 KB | Output is correct |
21 | Execution timed out | 1067 ms | 600 KB | Time limit exceeded |
22 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 3 ms | 348 KB | Output is correct |
5 | Correct | 74 ms | 440 KB | Output is correct |
6 | Correct | 1 ms | 348 KB | Output is correct |
7 | Correct | 2 ms | 348 KB | Output is correct |
8 | Correct | 147 ms | 696 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Correct | 34 ms | 460 KB | Output is correct |
11 | Correct | 83 ms | 348 KB | Output is correct |
12 | Correct | 10 ms | 344 KB | Output is correct |
13 | Correct | 1 ms | 348 KB | Output is correct |
14 | Correct | 92 ms | 348 KB | Output is correct |
15 | Correct | 55 ms | 348 KB | Output is correct |
16 | Correct | 83 ms | 344 KB | Output is correct |
17 | Correct | 16 ms | 348 KB | Output is correct |
18 | Correct | 50 ms | 348 KB | Output is correct |
19 | Correct | 38 ms | 348 KB | Output is correct |
20 | Correct | 36 ms | 344 KB | Output is correct |
21 | Execution timed out | 1067 ms | 600 KB | Time limit exceeded |
22 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 3 ms | 348 KB | Output is correct |
5 | Correct | 74 ms | 440 KB | Output is correct |
6 | Correct | 1 ms | 348 KB | Output is correct |
7 | Correct | 2 ms | 348 KB | Output is correct |
8 | Correct | 147 ms | 696 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Correct | 34 ms | 460 KB | Output is correct |
11 | Correct | 83 ms | 348 KB | Output is correct |
12 | Correct | 10 ms | 344 KB | Output is correct |
13 | Correct | 1 ms | 348 KB | Output is correct |
14 | Correct | 92 ms | 348 KB | Output is correct |
15 | Correct | 55 ms | 348 KB | Output is correct |
16 | Correct | 83 ms | 344 KB | Output is correct |
17 | Correct | 16 ms | 348 KB | Output is correct |
18 | Correct | 50 ms | 348 KB | Output is correct |
19 | Correct | 38 ms | 348 KB | Output is correct |
20 | Correct | 36 ms | 344 KB | Output is correct |
21 | Execution timed out | 1067 ms | 600 KB | Time limit exceeded |
22 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 3 ms | 348 KB | Output is correct |
5 | Correct | 74 ms | 440 KB | Output is correct |
6 | Correct | 1 ms | 348 KB | Output is correct |
7 | Correct | 2 ms | 348 KB | Output is correct |
8 | Correct | 147 ms | 696 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Correct | 34 ms | 460 KB | Output is correct |
11 | Correct | 83 ms | 348 KB | Output is correct |
12 | Correct | 10 ms | 344 KB | Output is correct |
13 | Correct | 1 ms | 348 KB | Output is correct |
14 | Correct | 92 ms | 348 KB | Output is correct |
15 | Correct | 55 ms | 348 KB | Output is correct |
16 | Correct | 83 ms | 344 KB | Output is correct |
17 | Correct | 16 ms | 348 KB | Output is correct |
18 | Correct | 50 ms | 348 KB | Output is correct |
19 | Correct | 38 ms | 348 KB | Output is correct |
20 | Correct | 36 ms | 344 KB | Output is correct |
21 | Execution timed out | 1067 ms | 600 KB | Time limit exceeded |
22 | Halted | 0 ms | 0 KB | - |