제출 #1319298

#제출 시각아이디문제언어결과실행 시간메모리
1319298samarthkulkarniBali Sculptures (APIO15_sculpture)C++17
0 / 100
160 ms440 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; template <typename T> using ordered_set = tree<T, null_type, std::less<T>, rb_tree_tag, tree_order_statistics_node_update>; using ll = long long; #define vi vector<long long> #define all(x) x.begin(), x.end() #define endl "\n" #define pr pair<ll, ll> #define ff first #define ss second void solution(); int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); solution(); return 0; } const int N = 22; ll a[N]; ll n, A, B; const int inf = INT_MAX; void solution() { cin >> n >> A >> B; for (int i = 0; i < n; i++) { cin >> a[i]; } int ans = inf; for (int mask = 1; mask < (1 << n); mask+=2) { int val = __builtin_popcount(mask); if (val > B || val < A) continue; int s = 0; val = 0; for (int i = n-1; i >= 0; i--) { val += a[n-i-1]; if (mask&(1 << i)) { s = (s | val); val = 0; } } ans = min(ans, s); } cout << ans <<endl; }
#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...