# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
566676 | 2022-05-22T15:30:29 Z | Rifal | Bootfall (IZhO17_bootfall) | C++14 | 147 ms | 2284 KB |
#include <bits/stdc++.h> #include <fstream> #define endl '\n' #define mod 1245671399175717 #define INF -100000000000000000 //#define ll long long //#define cin fin //#define cout fout using namespace std; //ofstream fout("convention.out"); //ifstream fin("convention.in"); const int M = 250005; long long dp[M]; long long cnt[M]; void add(int x) { for(int i = M-1; i >= x; i--) { dp[i] += dp[i-x]%mod; dp[i] %= mod; } } void remo(int x) { for(int i = x; i < M; i++) { dp[i] -= dp[i-x]%mod; dp[i] %= mod; } } int main() { ios_base::sync_with_stdio(0);cout.tie(0);cin.tie(0); int n; cin >> n; int arr[n]; long long sum = 0; dp[0] = 1; for(int i = 0; i < n; i++) { cin >> arr[i]; add(arr[i]); sum += arr[i]; } if(sum%2 == 1 || dp[sum/2] == 0) { cout << 0 << endl; return 0; } for(int i = 0; i < n; i++) { remo(arr[i]); sum -= arr[i]; for(long long j = 0; j <= sum/2; j++) { if(dp[j] >= 1) { if(sum-(j*2) != 0) cnt[sum-(j*2)]++; } } add(arr[i]); sum += arr[i]; } vector<int> ans; for(int i = 0; i < M; i++) { if(cnt[i] == n) ans.push_back(i); } cout << ans.size() << endl; for(int i = 0; i < ans.size(); i++) cout << ans[i] << ' '; return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 15 ms | 2260 KB | Output is correct |
2 | Correct | 15 ms | 2284 KB | Output is correct |
3 | Correct | 4 ms | 2260 KB | Output is correct |
4 | Correct | 14 ms | 2280 KB | Output is correct |
5 | Correct | 37 ms | 2260 KB | Output is correct |
6 | Correct | 18 ms | 2280 KB | Output is correct |
7 | Correct | 17 ms | 2260 KB | Output is correct |
8 | Correct | 34 ms | 2280 KB | Output is correct |
9 | Correct | 27 ms | 2260 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 15 ms | 2260 KB | Output is correct |
2 | Correct | 15 ms | 2284 KB | Output is correct |
3 | Correct | 4 ms | 2260 KB | Output is correct |
4 | Correct | 14 ms | 2280 KB | Output is correct |
5 | Correct | 37 ms | 2260 KB | Output is correct |
6 | Correct | 18 ms | 2280 KB | Output is correct |
7 | Correct | 17 ms | 2260 KB | Output is correct |
8 | Correct | 34 ms | 2280 KB | Output is correct |
9 | Correct | 27 ms | 2260 KB | Output is correct |
10 | Correct | 64 ms | 2284 KB | Output is correct |
11 | Correct | 84 ms | 2264 KB | Output is correct |
12 | Correct | 73 ms | 2264 KB | Output is correct |
13 | Correct | 55 ms | 2260 KB | Output is correct |
14 | Correct | 70 ms | 2264 KB | Output is correct |
15 | Correct | 87 ms | 2260 KB | Output is correct |
16 | Correct | 71 ms | 2276 KB | Output is correct |
17 | Correct | 39 ms | 2260 KB | Output is correct |
18 | Correct | 51 ms | 2260 KB | Output is correct |
19 | Correct | 56 ms | 2260 KB | Output is correct |
20 | Correct | 63 ms | 2260 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 15 ms | 2260 KB | Output is correct |
2 | Correct | 15 ms | 2284 KB | Output is correct |
3 | Correct | 4 ms | 2260 KB | Output is correct |
4 | Correct | 14 ms | 2280 KB | Output is correct |
5 | Correct | 37 ms | 2260 KB | Output is correct |
6 | Correct | 18 ms | 2280 KB | Output is correct |
7 | Correct | 17 ms | 2260 KB | Output is correct |
8 | Correct | 34 ms | 2280 KB | Output is correct |
9 | Correct | 27 ms | 2260 KB | Output is correct |
10 | Correct | 64 ms | 2284 KB | Output is correct |
11 | Correct | 84 ms | 2264 KB | Output is correct |
12 | Correct | 73 ms | 2264 KB | Output is correct |
13 | Correct | 55 ms | 2260 KB | Output is correct |
14 | Correct | 70 ms | 2264 KB | Output is correct |
15 | Correct | 87 ms | 2260 KB | Output is correct |
16 | Correct | 71 ms | 2276 KB | Output is correct |
17 | Correct | 39 ms | 2260 KB | Output is correct |
18 | Correct | 51 ms | 2260 KB | Output is correct |
19 | Correct | 56 ms | 2260 KB | Output is correct |
20 | Correct | 63 ms | 2260 KB | Output is correct |
21 | Incorrect | 147 ms | 2284 KB | Output isn't correct |
22 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 15 ms | 2260 KB | Output is correct |
2 | Correct | 15 ms | 2284 KB | Output is correct |
3 | Correct | 4 ms | 2260 KB | Output is correct |
4 | Correct | 14 ms | 2280 KB | Output is correct |
5 | Correct | 37 ms | 2260 KB | Output is correct |
6 | Correct | 18 ms | 2280 KB | Output is correct |
7 | Correct | 17 ms | 2260 KB | Output is correct |
8 | Correct | 34 ms | 2280 KB | Output is correct |
9 | Correct | 27 ms | 2260 KB | Output is correct |
10 | Correct | 64 ms | 2284 KB | Output is correct |
11 | Correct | 84 ms | 2264 KB | Output is correct |
12 | Correct | 73 ms | 2264 KB | Output is correct |
13 | Correct | 55 ms | 2260 KB | Output is correct |
14 | Correct | 70 ms | 2264 KB | Output is correct |
15 | Correct | 87 ms | 2260 KB | Output is correct |
16 | Correct | 71 ms | 2276 KB | Output is correct |
17 | Correct | 39 ms | 2260 KB | Output is correct |
18 | Correct | 51 ms | 2260 KB | Output is correct |
19 | Correct | 56 ms | 2260 KB | Output is correct |
20 | Correct | 63 ms | 2260 KB | Output is correct |
21 | Incorrect | 147 ms | 2284 KB | Output isn't correct |
22 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 15 ms | 2260 KB | Output is correct |
2 | Correct | 15 ms | 2284 KB | Output is correct |
3 | Correct | 4 ms | 2260 KB | Output is correct |
4 | Correct | 14 ms | 2280 KB | Output is correct |
5 | Correct | 37 ms | 2260 KB | Output is correct |
6 | Correct | 18 ms | 2280 KB | Output is correct |
7 | Correct | 17 ms | 2260 KB | Output is correct |
8 | Correct | 34 ms | 2280 KB | Output is correct |
9 | Correct | 27 ms | 2260 KB | Output is correct |
10 | Correct | 64 ms | 2284 KB | Output is correct |
11 | Correct | 84 ms | 2264 KB | Output is correct |
12 | Correct | 73 ms | 2264 KB | Output is correct |
13 | Correct | 55 ms | 2260 KB | Output is correct |
14 | Correct | 70 ms | 2264 KB | Output is correct |
15 | Correct | 87 ms | 2260 KB | Output is correct |
16 | Correct | 71 ms | 2276 KB | Output is correct |
17 | Correct | 39 ms | 2260 KB | Output is correct |
18 | Correct | 51 ms | 2260 KB | Output is correct |
19 | Correct | 56 ms | 2260 KB | Output is correct |
20 | Correct | 63 ms | 2260 KB | Output is correct |
21 | Incorrect | 147 ms | 2284 KB | Output isn't correct |
22 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 15 ms | 2260 KB | Output is correct |
2 | Correct | 15 ms | 2284 KB | Output is correct |
3 | Correct | 4 ms | 2260 KB | Output is correct |
4 | Correct | 14 ms | 2280 KB | Output is correct |
5 | Correct | 37 ms | 2260 KB | Output is correct |
6 | Correct | 18 ms | 2280 KB | Output is correct |
7 | Correct | 17 ms | 2260 KB | Output is correct |
8 | Correct | 34 ms | 2280 KB | Output is correct |
9 | Correct | 27 ms | 2260 KB | Output is correct |
10 | Correct | 64 ms | 2284 KB | Output is correct |
11 | Correct | 84 ms | 2264 KB | Output is correct |
12 | Correct | 73 ms | 2264 KB | Output is correct |
13 | Correct | 55 ms | 2260 KB | Output is correct |
14 | Correct | 70 ms | 2264 KB | Output is correct |
15 | Correct | 87 ms | 2260 KB | Output is correct |
16 | Correct | 71 ms | 2276 KB | Output is correct |
17 | Correct | 39 ms | 2260 KB | Output is correct |
18 | Correct | 51 ms | 2260 KB | Output is correct |
19 | Correct | 56 ms | 2260 KB | Output is correct |
20 | Correct | 63 ms | 2260 KB | Output is correct |
21 | Incorrect | 147 ms | 2284 KB | Output isn't correct |
22 | Halted | 0 ms | 0 KB | - |