Submission #1281963

#TimeUsernameProblemLanguageResultExecution timeMemory
1281963Hurryup_7735Bootfall (IZhO17_bootfall)C++20
0 / 100
2 ms576 KiB
//In The Name Of ALLAH! #pragma GCC optimize("O3") #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; using namespace std; #define ll long long #define ld long double #define endl '\n' #define pb push_back #define pf push_front #define Zemur007 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #define bpc __builtin_popcountll #define btz __builtin_ctzll #define all(x) x.begin() , x.end() #define allr(x) x.rbegin() , x.rend() #define F first #define S second #define pll pair<ll , ll> #define turtle tuple<ll , ll , ll> #define pss pair<string , string> #define YES cout << "YES" << endl; #define NO cout << "NO" << endl; #define indexed_set tree<pll , null_type , less<pll> , rb_tree_tag , tree_order_statistics_node_update> const ll sz = 1e8 + 5 , INF = 1e18 , MOD = 1e9 + 7; bool dp[sz]; ll mask , i , j , k , l; void solve(){ ll n , sum = 0; cin >> n; vector<ll> v , ans; for(i = 1 ; i <= n ; i++){ ll x; cin >> x; sum += x; v.pb(x); } ll con = 0; sort(all(v)); for(i = v.size() ; i > 0 ; i--) con += v[i]; for(i = 1 ; i <= con ; i++){ v.pb(i); sum += i; bool ok = true; for(j = 0 ; j < v.size() ; j++){ if(sum % 2 != v[j] % 2){ ok = false; break; } sum -= v[j]; for(k = 0 ; k <= sum ; k++) dp[k] = false; dp[0] = true; for(k = 0 ; k < v.size() ; k++){ if(k == j) continue; for(l = sum ; l >= 0 ; l--) dp[l] |= dp[l - v[k]]; } if(!dp[sum / 2]){ sum += v[j]; ok = false; break; } sum += v[j]; } v.pop_back(); sum -= i; if(ok) ans.pb(i); } cout << ans.size() << endl; for(ll i : ans) cout << i << ' '; cout << endl; } signed main(){ Zemur007; //open; ll t = 1; // cin >> t; while(t--){ solve(); } // for(ll testcase = 1 ; testcase <= t ; testcase++){ // cout << "Case " << testcase << ":" << endl; // solve(); // } }
#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...