Submission #112131

#TimeUsernameProblemLanguageResultExecution timeMemory
112131Runtime_error_Bali Sculptures (APIO15_sculpture)C++14
0 / 100
5 ms3712 KiB
#include <bits/stdc++.h>
using namespace std;
const int N=105,O=(1<<13)+9,MX=1e9+9;
int n,x,y,a[N],pre[N],dp[N][O];

int solve(int pos,int OR){

    if(pos==n+1)
        return 0;

    int &ret=dp[pos][OR];
    if(ret!=-1)
        return ret;
    ret=MX;
    for(int i=pos;i<=n;i++)
        if( (OR & (pre[i]-pre[pos-1]))==0  )
            ret=min(ret,solve(i+1,OR)+1);
    return ret;
}

int opposite(int num){

    int ret=0;
    for(int i=0;i<=11;i++)
        if( (num&(1<<i))==0 )
            ret|=(1<<i);
    return ret;
}

int main(){

    cin>>n>>x>>y;
    for(int i=1;i<=n;i++)
        cin>>a[i],pre[i]=a[i]+pre[i-1];

    memset(dp,-1,sizeof(dp));
    for(int i=1;i<(1<<12);i++)
        if(solve(1,opposite(i))<=y)
            cout<<i<<endl,exit(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...