제출 #478236

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

int64_t n,a,b;
vector<int64_t>v;
vector<int64_t>pref;

int64_t ans = LLONG_MAX;

void dfs(int64_t i, int64_t cnt, int64_t curr, int64_t prev) {
    if(i == n) {
        if(cnt >= a && cnt <= b)
            curr|=(pref[i]-pref[prev]),ans=min(ans,curr);
        return;
    }
    if(cnt < b) {
        if(i != 0)
            dfs(i+1,cnt+1,(curr|(pref[i]-pref[prev])),i);
    }
    dfs(i+1,cnt,curr,prev);
}

signed main() {
    cin>>n>>a>>b;
    v.resize(n);
    for(auto &z : v)
        cin>>z;
    pref.resize(n+1);
    pref[0]=0;
    for(int i = 0 ; i < n ; i++)
        pref[i+1] = pref[i] + v[i];
    dfs(0,1,0,0);
    cout << ans;
}
#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...