제출 #91549

#제출 시각아이디문제언어결과실행 시간메모리
91549Bodo171Bali Sculptures (APIO15_sculpture)C++14
71 / 100
33 ms2028 KiB
#include <iostream> #include <fstream> using namespace std; const int nmax=2005; long long v[nmax]; bool dp[105][105]; long long sum,frb,ans; int n,i,j,k,a,b; bool chk_brt(long long val) { dp[0][0]=1; for(i=1;i<=n;i++) for(j=1;j<=n;j++) dp[i][j]=0; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { sum=0; for(k=j;k>=1;k--) { sum+=v[k]; if((sum&frb)==0) dp[i][j]|=dp[i-1][k-1]; } if(i>=a&&i<=b&&dp[i][n]) return 1; } return 0; } bool check(long long val) { frb=(((1LL<<61)-1)^val); if(n<=100) return chk_brt(val); return 0; } int main() { //freopen("data.in","r",stdin); cin>>n>>a>>b; for(i=1;i<=n;i++) cin>>v[i]; ans=(1LL<<61)-1; for(long long p=60;p>=0;p--) if(check(ans-(1LL<<p))) ans-=(1LL<<p); cout<<ans; 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...