제출 #1128101

#제출 시각아이디문제언어결과실행 시간메모리
1128101azikBootfall (IZhO17_bootfall)C++20
13 / 100
1088 ms436 KiB
#include <bits/stdc++.h> #define pb push_back #define int short int #define all(v) v.begin() , v.end() using namespace std; int n , m ; const int N = 101; signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>n ; int sum =0 ; vector<int>a; int h; for(int i= 1 ; i <= n; i++){ cin>>h; sum+=h; a.pb(h); } if(n<= 1 ){ cout << 0 ; return 0 ; } //sum*=5; vector<int>ans; for(int x = 0 ; x <= sum ; x++) { a.pb(x); int ok =0 ; for(int pos = 0 ; pos < n ;pos++) { if( x == 0 )pos = n ; int sum2 = sum + x - a[pos]; //cout << a[pos] << ' ' << x << ' ' << sum2 << '\n'; if (sum2 % 2 != 0) { ok = 1; break; } sum2 /= 2; bitset < N * 100 > dp; dp[0] = 1; for(int i = 0; i < a.size(); i++){ if(i == pos) continue; dp |= (dp << a[i]); } if (!dp[sum2]) { ok = 1; break; } } if(x == 0 && ok){ cout << 0 ; return 0 ; } if(!ok && x > 0 ){ ans.pb(x); } a.pop_back(); } cout<< ans.size() << '\n'; for(auto it:ans){ cout << it << ' '; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...