Submission #1028520

#TimeUsernameProblemLanguageResultExecution timeMemory
1028520vjudge1Bali Sculptures (APIO15_sculpture)C++17
0 / 100
15 ms31880 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

const int N = 2005;
int n, x, y;
ll a[N], dp[N][N];

int main(){
    memset(dp, 31, sizeof dp);

    cin >> n >> x >> y;
    for (int i = 1; i <= n; i ++)
        cin >> a[i], a[i] += a[i - 1], dp[i][1] = a[i];

    for (int i = 1; i <= n; i ++){
        for (int j = 2; j <= i; j ++){
            for (int k = 1; k < i; k ++){
                if (dp[k][j - 1] > 1e17) continue;
                dp[i][j] = min(dp[i][j], dp[k][j - 1] | (a[i] - a[k]));
            }
        }
    }

    ll ans = 1e18;
    for (int i = x; i <= y; i ++)
        ans = min(ans, dp[n][i]);
    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...