# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1115426 | vjudge1 | Bootfall (IZhO17_bootfall) | C++17 | Compilation error | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "bits/stdc++.h"
using namespace std;
const int mxN = 500;
const int mxSm = mxN * 2;
#define int ll
int dp[mxSm + 1];
int a[mxN];
void solve() {
int N;
cin >> N;
vector<int> ans;
for (int i = 1; i <= mxSm; i ++) {
ans.push_back(i);
}
dp[0] = 1;
int s = 0;
for (int i = 0; i < N; i ++) {
cin >> a[i];
for (int j = mxSm; a[i] <= j; j --) {
dp[j] += dp[j - a[i]];
}
s += a[i];
}
if ((s & 1) || 0 == dp[s / 2]) {
cout << 0 << endl;
return;
}
for (int i = 0; i < N; i ++) {
s -= a[i];
for (int j = a[i]; j <= mxSm; j ++) {
dp[j] -= dp[j - a[i]];
}
for (int j = 0; j < (int)ans.size();) {
if (s < ans[j] || ((s - ans[j]) & 1) || !dp[(s - ans[j]) / 2]) {
if (j < (int)ans.size()) {
swap(ans[j], ans[(int)ans.size()-1]);
}
ans.pop_back();
} else {
j ++;
}
}
s += a[i];
for (int j = mxSm; a[i] <= j; j --) {
dp[j] += dp[j - a[i]];
}
}
sort(begin(ans),end(ans));
cout << ans.size() << endl;
for (int i : ans) {
cout << i << ' ';
}
}
signed main() {
solve();
}
Compilation message (stderr)
bootfall.cpp:8:13: error: 'll' does not name a type 8 | #define int ll | ^~ bootfall.cpp:10:1: note: in expansion of macro 'int' 10 | int dp[mxSm + 1]; | ^~~ bootfall.cpp:8:13: error: 'll' does not name a type 8 | #define int ll | ^~ bootfall.cpp:11:1: note: in expansion of macro 'int' 11 | int a[mxN]; | ^~~ bootfall.cpp: In function 'void solve()': bootfall.cpp:8:13: error: 'll' was not declared in this scope 8 | #define int ll | ^~ bootfall.cpp:14:2: note: in expansion of macro 'int' 14 | int N; | ^~~ bootfall.cpp:15:9: error: 'N' was not declared in this scope 15 | cin >> N; | ^ bootfall.cpp:17:12: error: template argument 2 is invalid 17 | vector<int> ans; | ^ bootfall.cpp:18:11: error: expected ';' before 'i' 18 | for (int i = 1; i <= mxSm; i ++) { | ^ bootfall.cpp:18:18: error: 'i' was not declared in this scope 18 | for (int i = 1; i <= mxSm; i ++) { | ^ bootfall.cpp:19:7: error: request for member 'push_back' in 'ans', which is of non-class type 'int' 19 | ans.push_back(i); | ^~~~~~~~~ bootfall.cpp:22:2: error: 'dp' was not declared in this scope 22 | dp[0] = 1; | ^~ bootfall.cpp:23:6: error: expected ';' before 's' 23 | int s = 0; | ^ bootfall.cpp:24:11: error: expected ';' before 'i' 24 | for (int i = 0; i < N; i ++) { | ^ bootfall.cpp:24:18: error: 'i' was not declared in this scope 24 | for (int i = 0; i < N; i ++) { | ^ bootfall.cpp:25:10: error: 'a' was not declared in this scope 25 | cin >> a[i]; | ^ bootfall.cpp:26:12: error: expected ';' before 'j' 26 | for (int j = mxSm; a[i] <= j; j --) { | ^ bootfall.cpp:26:30: error: 'j' was not declared in this scope; did you mean 'jn'? 26 | for (int j = mxSm; a[i] <= j; j --) { | ^ | jn bootfall.cpp:29:3: error: 's' was not declared in this scope 29 | s += a[i]; | ^ bootfall.cpp:32:7: error: 's' was not declared in this scope 32 | if ((s & 1) || 0 == dp[s / 2]) { | ^ bootfall.cpp:37:11: error: expected ';' before 'i' 37 | for (int i = 0; i < N; i ++) { | ^ bootfall.cpp:37:18: error: 'i' was not declared in this scope 37 | for (int i = 0; i < N; i ++) { | ^ bootfall.cpp:38:3: error: 's' was not declared in this scope 38 | s -= a[i]; | ^ bootfall.cpp:38:8: error: 'a' was not declared in this scope 38 | s -= a[i]; | ^ bootfall.cpp:39:12: error: expected ';' before 'j' 39 | for (int j = a[i]; j <= mxSm; j ++) { | ^ bootfall.cpp:39:22: error: 'j' was not declared in this scope; did you mean 'jn'? 39 | for (int j = a[i]; j <= mxSm; j ++) { | ^ | jn bootfall.cpp:42:12: error: expected ';' before 'j' 42 | for (int j = 0; j < (int)ans.size();) { | ^ bootfall.cpp:42:19: error: 'j' was not declared in this scope; did you mean 'jn'? 42 | for (int j = 0; j < (int)ans.size();) { | ^ | jn bootfall.cpp:42:28: error: expected ';' before 'ans' 42 | for (int j = 0; j < (int)ans.size();) { | ^~~ | ; bootfall.cpp:42:32: error: request for member 'size' in 'ans', which is of non-class type 'int' 42 | for (int j = 0; j < (int)ans.size();) { | ^~~~ bootfall.cpp:42:38: error: expected ')' before ';' token 42 | for (int j = 0; j < (int)ans.size();) { | ~ ^ | ) bootfall.cpp:42:3: warning: this 'for' clause does not guard... [-Wmisleading-indentation] 42 | for (int j = 0; j < (int)ans.size();) { | ^~~ bootfall.cpp:42:39: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for' 42 | for (int j = 0; j < (int)ans.size();) { | ^ bootfall.cpp:42:39: error: expected primary-expression before ')' token bootfall.cpp:53:12: error: expected ';' before 'j' 53 | for (int j = mxSm; a[i] <= j; j --) { | ^ bootfall.cpp:53:30: error: 'j' was not declared in this scope; did you mean 'jn'? 53 | for (int j = mxSm; a[i] <= j; j --) { | ^ | jn bootfall.cpp:58:16: error: no matching function for call to 'begin(int&)' 58 | sort(begin(ans),end(ans)); | ^ In file included from /usr/include/c++/10/bits/range_access.h:36, from /usr/include/c++/10/string:54, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from bootfall.cpp:1: /usr/include/c++/10/initializer_list:90:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::begin(std::initializer_list<_Tp>)' 90 | begin(initializer_list<_Tp> __ils) noexcept | ^~~~~ /usr/include/c++/10/initializer_list:90:5: note: template argument deduction/substitution failed: bootfall.cpp:58:16: note: mismatched types 'std::initializer_list<_Tp>' and 'int' 58 | sort(begin(ans),end(ans)); | ^ In file included from /usr/include/c++/10/string:54, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from bootfall.cpp:1: /usr/include/c++/10/bits/range_access.h:51:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.begin()) std::begin(_Container&)' 51 | begin(_Container& __cont) -> decltype(__cont.begin()) | ^~~~~ /usr/include/c++/10/bits/range_access.h:51:5: note: template argument deduction/substitution failed: /usr/include/c++/10/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.begin()) std::begin(_Container&) [with _Container = int]': bootfall.cpp:58:16: required from here /usr/include/c++/10/bits/range_access.h:51:50: error: request for member 'begin' in '__cont', which is of non-class type 'int' 51 | begin(_Container& __cont) -> decltype(__cont.begin()) | ~~~~~~~^~~~~ /usr/include/c++/10/bits/range_access.h:61:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.begin()) std::begin(const _Container&)' 61 | begin(const _Container& __cont) -> decltype(__cont.begin()) | ^~~~~ /usr/include/c++/10/bits/range_access.h:61:5: note: template argument deduction/substitution failed: /usr/include/c++/10/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.begin()) std::begin(const _Container&) [with _Container = int]': bootfall.cpp:58:16: required from here /usr/include/c++/10/bits/range_access.h:61:56: error: request for member 'begin' in '__cont', which is of non-class type 'const int' 61 | begin(const _Container& __cont) -> decltype(__cont.begin()) | ~~~~~~~^~~~~ /usr/include/c++/10/bits/range_access.h:90:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::begin(_Tp (&)[_Nm])' 90 | begin(_Tp (&__arr)[_Nm]) | ^~~~~ /usr/include/c++/10/bits/range_access.h:90:5: note: template argument deduction/substitution failed: bootfall.cpp:58:16: note: mismatched types '_Tp [_Nm]' and 'int' 58 | sort(begin(ans),end(ans)); | ^ In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:95, from bootfall.cpp:1: /usr/include/c++/10/valarray:1214:5: note: candidate: 'template<class _Tp> _Tp* std::begin(std::valarray<_Tp>&)' 1214 | begin(valarray<_Tp>& __va) | ^~~~~ /usr/include/c++/10/valarray:1214:5: note: template argument deduction/substitution failed: bootfall.cpp:58:16: note: mismatched types 'std::valarray<_Tp>' and 'int' 58 | sort(begin(ans),end(ans)); | ^ In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:95, from bootfall.cpp:1: /usr/include/c++/10/valarray:1224:5: note: candidate: 'template<class _Tp> const _Tp* std::begin(const std::valarray<_Tp>&)' 1224 | begin(const valarray<_Tp>& __va) | ^~~~~ /usr/include/c++/10/valarray:1224:5: note: template argument deduction/substitution failed: bootfall.cpp:58:16: note: mismatched types 'const std::valarray<_Tp>' and 'int' 58 | sort(begin(ans),end(ans)); | ^ bootfall.cpp:58:25: error: no matching function for call to 'end(int&)' 58 | sort(begin(ans),end(ans)); | ^ In file included from /usr/include/c++/10/bits/range_access.h:36, from /usr/include/c++/10/string:54, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from bootfall.cpp:1: /usr/include/c++/10/initializer_list:101:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::end(std::initializer_list<_Tp>)' 101 | end(initializer_list<_Tp> __ils) noexcept | ^~~ /usr/include/c++/10/initializer_list:101:5: note: template argument deduction/substitution failed: bootfall.cpp:58:25: note: mismatched types 'std::initializer_list<_Tp>' and 'int' 58 | sort(begin(ans),end(ans)); | ^ In file included from /usr/include/c++/10/string:54, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from bootfall.cpp:1: /usr/include/c++/10/bits/range_access.h:71:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.end()) std::end(_Container&)' 71 | end(_Container& __cont) -> decltype(__cont.end()) | ^~~ /usr/include/c++/10/bits/range_access.h:71:5: note: template argument deduction/substitution failed: /usr/include/c++/10/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.end()) std::end(_Container&) [with _Container = int]': bootfall.cpp:58:25: required from here /usr/include/c++/10/bits/range_access.h:71:48: error: request for member 'end' in '__cont', which is of non-class type 'int' 71 | end(_Container& __cont) -> decltype(__cont.end()) | ~~~~~~~^~~ /usr/include/c++/10/bits/range_access.h:81:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.end()) std::end(const _Container&)' 81 | end(const _Container& __cont) -> decltype(__cont.end()) | ^~~ /usr/include/c++/10/bits/range_access.h:81:5: note: template argument deduction/substitution failed: /usr/include/c++/10/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.end()) std::end(const _Container&) [with _Container = int]': bootfall.cpp:58:25: required from here /usr/include/c++/10/bits/range_access.h:81:54: error: request for member 'end' in '__cont', which is of non-class type 'const int' 81 | end(const _Container& __cont) -> decltype(__cont.end()) | ~~~~~~~^~~ /usr/include/c++/10/bits/range_access.h:100:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::end(_Tp (&)[_Nm])' 100 | end(_Tp (&__arr)[_Nm]) | ^~~ /usr/include/c++/10/bits/range_access.h:100:5: note: template argument deduction/substitution failed: bootfall.cpp:58:25: note: mismatched types '_Tp [_Nm]' and 'int' 58 | sort(begin(ans),end(ans)); | ^ In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:95, from bootfall.cpp:1: /usr/include/c++/10/valarray:1234:5: note: candidate: 'template<class _Tp> _Tp* std::end(std::valarray<_Tp>&)' 1234 | end(valarray<_Tp>& __va) | ^~~ /usr/include/c++/10/valarray:1234:5: note: template argument deduction/substitution failed: bootfall.cpp:58:25: note: mismatched types 'std::valarray<_Tp>' and 'int' 58 | sort(begin(ans),end(ans)); | ^ In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:95, from bootfall.cpp:1: /usr/include/c++/10/valarray:1244:5: note: candidate: 'template<class _Tp> const _Tp* std::end(const std::valarray<_Tp>&)' 1244 | end(const valarray<_Tp>& __va) | ^~~ /usr/include/c++/10/valarray:1244:5: note: template argument deduction/substitution failed: bootfall.cpp:58:25: note: mismatched types 'const std::valarray<_Tp>' and 'int' 58 | sort(begin(ans),end(ans)); | ^ bootfall.cpp:59:14: error: request for member 'size' in 'ans', which is of non-class type 'int' 59 | cout << ans.size() << endl; | ^~~~ bootfall.cpp:60:11: error: expected ';' before 'i' 60 | for (int i : ans) { | ^ bootfall.cpp:63:1: error: expected primary-expression before '}' token 63 | } | ^ bootfall.cpp:62:3: error: expected ';' before '}' token 62 | } | ^ | ; 63 | } | ~ bootfall.cpp:63:1: error: expected primary-expression before '}' token 63 | } | ^ bootfall.cpp:62:3: error: expected ')' before '}' token 62 | } | ^ | ) 63 | } | ~ bootfall.cpp:60:6: note: to match this '(' 60 | for (int i : ans) { | ^ bootfall.cpp:63:1: error: expected primary-expression before '}' token 63 | } | ^