Submission #1190395

#TimeUsernameProblemLanguageResultExecution timeMemory
1190395julia_08Bali Sculptures (APIO15_sculpture)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h>
#define int long long

using namespace std;

const int MAXN = 110;

int y[MAXN], dp[MAXN][MAXN][MAXN];

int s[MAXN];

int32_t main(){
  cin.tie(0)->sync_with_stdio(0);

  int n, a, b; cin >> n >> a >> b;

  int sum = 0;

  for(int i=1; i<=n; i++){
    cin >> y[i];
    s[i] = s[i - 1] + y[i];
    sum += y[i];
  }

  for(int k=1; k<=n; k++){
    for(int i=1; i<=n; i++){
      for(int j=0; j<i; j++){

        for(int l=0; l<j; l++){
          dp[k][i][j] = max(dp[k][i][j], dp[k - 1][j][l] + ((s[i] - s[j]) & (s[j] - s[l])));
        }

      }
    }
  }

  int ans = 1e18;

  for(int k=a; k<=b; k++){
    for(int i=0; i<n; i++){
      ans = min(ans, sum - dp[k][n][i]);
    }
  }

  cout << ans << "\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...