Submission #452617

#TimeUsernameProblemLanguageResultExecution timeMemory
452617hibye1217Bali Sculptures (APIO15_sculpture)C++17
0 / 100
535 ms332 KiB
// Subtask 1 #include <bits/stdc++.h> #define endl '\n' #define fr first #define sc second #define all(v) v.begin(),v.end() #define unq(v) sort( all(v) ); v.erase( unique( all(v) ), v.end() ) #define bout(x) cout << bitset<sizeof(x)*8>(x) << endl #define mkp(a,b) make_pair(a,b) #define gcd(a,b) __gcd(a,b) using namespace std; using ll = long long; using ull = unsigned long long; using ld = long double; using pi2 = pair<int, int>; using pl2 = pair<ll, ll>; using cpl = complex<ld>; const ld pi = 3.14159265358979323846264338327950288; const ld tau = 2 * pi; const int dx[4] = {0, 1, 0, -1}, dy[4] = {-1, 0, 1, 0}; const int ddx[8] = {0, 1, 1, 1, 0, -1, -1, -1}, ddy[8] = {-1, -1, 0, 1, 1, 1, 0, -1}; const int nx[8] = {1, 2, 2, 1, -1, -2, -2, -1}, ny[8] = {-2, -1, 1, 2, 2, 1, -1, -2}; // #define DEBUG int n, a, b; ll arr[30]; ll sum[30]; ll ans = 1e18; void btk(int idx, int ptr){ if (idx > n){ if (a > ptr || ptr > b){ return; } ll res = 0; for (int i = 1; i <= ptr; i++){ res |= sum[i]; } ans = min(ans, res); return; } sum[ptr] += arr[idx]; btk(idx+1, ptr); sum[ptr] -= arr[idx]; sum[ptr+1] += arr[idx]; btk(idx+1, ptr+1); sum[ptr+1] -= arr[idx]; } void Main(){ cin >> n >> a >> b; for (int i = 1; i <= n; i++){ cin >> arr[i]; } btk(1, 1); cout << ans; } int main(){ #ifndef DEBUG ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #endif cout.setf(ios::fixed); cout.precision(0); Main(); }
#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...