Submission #1262630

#TimeUsernameProblemLanguageResultExecution timeMemory
1262630tormentBali Sculptures (APIO15_sculpture)C++20
0 / 100
1 ms584 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 105;
const int Y = 32;
const int inf = 1e9;
int a[N];
int dp[Y][N][N];
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n, A, B;
    cin >> n >> A >> B;
    for(int i = 1;i <= n;++i){
        cin >> a[i];
    }
    for(int i = 0;i <= n + 1;++i){
        for(int j = 0;j <= n;++j){
            for(int o = 0;o < Y;++o){
                dp[o][i][j] = inf;  
            }
        }
    }
    for(int i = A;i <= B;++i){
        for(int j = 0;j < Y;++j){
            dp[j][n + 1][i] = j;
        }
    }
    for(int i = n;i >= 1;--i){
        for(int j = 0;j <= n;++j){
            for(int o = 0;o < Y;++o){
                int sum = 0;
                for(int ii = i;ii <= n;++ii){
                    sum += a[ii];
                    dp[o][i][j] = min(dp[o][i][j], dp[o | sum][ii + 1][j + 1]);
                }
            }
        }
    }
    cout << dp[0][1][0] << '\n';
}

/*
6 1 3
8 1 2 1 5 4
*/
#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...