#include //#include using namespace std; //using namespace atcoder; using usize = ::std::size_t; //using u64 = ::std::int_least64_t; using u64 = long long; static constexpr u64 Inf = ::std::numeric_limits::max() / 2; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b> N; vector W(N), Ws(N,0); for (int i = 0; i < N; i++) { cin >> W[i]; if(i) Ws[i] += Ws[i - 1] + W[i]; else Ws[i] += W[i]; } vector> dp(N+1,vector(Ws[N-1]+1,false)); dp[0][0] = true; for (int i = 0; i < N; i++) { for (int k = 0; k <= Ws[i]; k++) { dp[i+1][k] = dp[i][abs(k - W[i])]; } } if(dp[N][0]) cout << "possible" << endl; else cout << "impossible" << endl; return 0; }