Submission #1037595

#TimeUsernameProblemLanguageResultExecution timeMemory
1037595stdfloatBali Sculptures (APIO15_sculpture)C++17
0 / 100
163 ms262144 KiB
#include <bits/stdc++.h>
using namespace std;

using ll = long long;

#define all(v) (v).begin(), (v).end()

int main() {
    ios::sync_with_stdio(false); cin.tie(nullptr);

    int n, A, B;
    cin >> n >> A >> B;

    vector<int> a(n);
    for (int i = 0; i < n; i++) cin >> a[i];

    int sm = 0;
    vector<vector<vector<int>>> dp(n, vector<vector<int>>(B));
    for (int i = 0; i < n; i++) {
        dp[i][0].push_back(sm += a[i]);

        for (int j = 1; j < B; j++) {
            int sm = 0;
            for (int k = i; k > 0 && !dp[k - 1][j - 1].empty(); k--) {
                sm += a[k];

                for (auto l : dp[k - 1][j - 1]) dp[i][j].push_back(l | sm);
            }
        }
    }

    int mn = INT_MAX;
    for (int i = A - 1; i < B; i++) {
        if (!dp[n - 1][i].empty()) mn = min(mn, *min_element(all(dp[n - 1][i])));
    }

    cout << mn << '\n';
}
#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...