Submission #1028502

#TimeUsernameProblemLanguageResultExecution timeMemory
1028502vjudge1Bali Sculptures (APIO15_sculpture)C++17
0 / 100
14 ms31836 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, 63, sizeof dp);

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

    for (int i = 1; i <= n; i ++){
        for (int j = 1; j <= i; j ++){
            if (j == 1){
                dp[i][j] = a[i];
                continue;
            }

            dp[i][j] = 1e18;
            for (int k = j - 1; k < i; k ++)
                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...