제출 #1358383

#제출 시각아이디문제언어결과실행 시간메모리
135838312345678Bali Sculptures (APIO15_sculpture)C++17
71 / 100
13 ms464 KiB
#include <bits/stdc++.h>

using namespace std;

const int nx=105, kx=51;

#define ll long long

ll n, a, b, vl[nx], qs[nx];
bool dp[nx][nx];

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n>>a>>b;
    for (int i=1; i<=n; i++) cin>>vl[i], qs[i]=qs[i-1]+vl[i];
    ll ans=(1ll<<kx)-1;
    for (int i=kx-1; i>=0; i--)
    {
        ll test=ans-(1ll<<i);
        for (int i=1; i<=n; i++) for (int j=1; j<=n; j++) dp[i][j]=0;
        dp[0][0]=1;
        for (int i=1; i<=n; i++)
        {
            for (int j=1; j<=i; j++)
            {
                for (int k=0; k<i; k++)
                {
                    if (dp[k][j-1]&&((qs[i]-qs[k])|test)==test)
                    {
                        dp[i][j]=1;
                    }
                }
            }
        }
        bool can=0;
        for (int i=a; i<=b; i++) if (dp[n][i]) can=1;
        if (can) ans=ans-(1ll<<i);
    }
    cout<<ans;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…