제출 #1319301

#제출 시각아이디문제언어결과실행 시간메모리
1319301samarthkulkarniBali Sculptures (APIO15_sculpture)C++17
9 / 100
162 ms444 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; ll inf = 0; void solution() { cin >> n >> A >> B; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < 60; i++) { inf = (inf|(1ll << i)); } ll ans = inf; for (int mask = 1; mask < (1 << n); mask+=2) { ll val = __builtin_popcount(mask); if (val > B || val < A) continue; ll 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...