제출 #1329018

#제출 시각아이디문제언어결과실행 시간메모리
1329018AgageldiBali Sculptures (APIO15_sculpture)C++17
0 / 100
1 ms344 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define N 500005

const int inf = 1e18;

int tc = 1, n, a[N], A, B, ans = inf;
int solve(int ps,int pt,int vl,int sm) {
    if(pt + 1 > B) return inf;
    if(ps == n + 1) {
        if(pt >= A) {
            return vl | sm;
        }
        return inf;
    }
    int var = min(solve(ps + 1, pt, vl, sm + a[ps]), solve(ps + 1, pt + 1, vl | sm, a[ps]));
    return var;
}

int32_t main() {
    ios::sync_with_stdio(0);cin.tie(0);
    cin >> n >> A >> B;
    for(int i = 1; i <= n; i++) {
        cin >> a[i];
    }
    cout << solve(1, 0, 0, 0) << endl;
    return 0;
    for(int i = 1; i <= 2000; i++) {
        int sm = 0, pr = 0, vl = 0;
        for(int j = 1; j <= n; j++) {
            if(a[j] > i) {
                pr = B;
                break;
            }
            if(((sm + a[j]) | vl) > i) {
                pr++;
                vl |= sm;
                sm = 0;
            }
            sm += a[j];
        }
        if((vl|sm) <= i && pr + 1 <= B) {
            cout << i << endl;
            return 0;
        }
    }
    return 0;
}
#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...