Submission #1305713

#TimeUsernameProblemLanguageResultExecution timeMemory
1305713coolboy19521Bali Sculptures (APIO15_sculpture)C++20
21 / 100
1096 ms580 KiB
#include "bits/stdc++.h" #define FOR(i,a,b)for(int i=(a);i<(b);i++) #define F0R(i,a)FOR(i,0,a) #define ROF(i,a,b)for(int i=(b)-1;i>=(a);i--) #define R0F(i,a)ROF(i,0,a) #define REP(a)F0R(_,a) using namespace std; const int mxl=45,mxm=2e3+20; int y[mxm]; int main(){ int n,a,b;cin>>n>>a>>b; FOR(i,1,n+1)cin>>y[i]; if(a==1){ long long fll=(1ll<<mxl)-1; long long msk=fll; R0F(i,mxl){ msk^=1ll<<i; vector<vector<bool>>dp(n+1,vector<bool>(n+1,false)); dp[0][0]=true; FOR(j,1,n+1){ long long s=0; ROF(k,1,j+1){ s+=y[k]; FOR(l,1,k+1){ bool exp=(dp[k-1][l-1] and (s&msk)==s); dp[j][l]=dp[j][l] or exp; } } } bool f=false; FOR(j,a,b+1)if(dp[n][j]){ f=true; break; } if(not f)msk^=1ll<<i; } cout<<msk<<endl; } }
#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...