Submission #1306039

#TimeUsernameProblemLanguageResultExecution timeMemory
1306039JerBali Sculptures (APIO15_sculpture)C++20
0 / 100
1095 ms588 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int MAXN = 25;

ll y[MAXN];
int val[MAXN];

int a, b, n;

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

    cin >> n >> a >> b;
    fill(val, val + n + 5, INT_MAX);

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

    for (int i = 0; i < (1 << (n - 1)); i++)
    {
        int splits = 1;
        ll curr = 0, res = 0;

        for (int j = 1; j <= n; j++)
        {
            curr += y[j];

            if (j < n && (i & (1LL << (j - 1))))
            {
                res |= curr;
                curr = 0;
                splits++;
            }
        }

        res |= curr;
        val[splits] = min(val[splits], (int)res);
    }

    int out = INT_MAX;
    for (int i = a; i <= b; i++)
        out = min(out, val[i]);

    cout << out << '\n';

    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...