제출 #1190362

#제출 시각아이디문제언어결과실행 시간메모리
1190362julia_08Bali Sculptures (APIO15_sculpture)C++20
16 / 100
31 ms5704 KiB
#include <bits/stdc++.h>
using namespace std;

const int MAXN = 51;

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

int s[MAXN];

int 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 i=0; i<=n; i++){
    for(int j=0; j<=n; j++){
      for(int k=0; k<=sum; k++){
        dp[i][j][k] = 0;
      }
    }
  }

  dp[0][0][0] = 1;

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

        int cur_sum = s[i] - s[j];

        for(int x=0; x<=sum; x++){
          dp[i][k][x | cur_sum] |= dp[j][k - 1][x];
        }

      }
    }
  }

  for(int x=0; x<=sum; x++){
    for(int k=a; k<=b; k++){
      if(dp[n][k][x]){
        cout << x << "\n";
        return 0;
      }
    }
  }

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