Submission #23117

#TimeUsernameProblemLanguageResultExecution timeMemory
23117ngkan146Bali Sculptures (APIO15_sculpture)C++98
71 / 100
1000 ms5960 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; ll n,a,b,x[2005]; ll res = 0; bool dp[2005][2005]; int main(){ cin >> n >> a >> b; for(int i=1;i<=n;i++) cin >> x[i]; for(int bit=40;bit>=0;bit--){ memset(dp,0,sizeof(dp)); dp[0][0] = 1; for(int i=0;i<=n;i++){ for(int j=0;j<=i;j++){ if (!dp[i][j]) continue; ll sum = 0; for(int k=i+1;k<=n;k++){ sum += x[k]; if (((sum>>bit)|(res>>bit)) == (res>>bit)) dp[k][j+1] = 1; } } } bool ok = 0; for(int j=a;j<=b;j++) if (dp[n][j]) ok = 1; if (!ok) res += (1ll<<bit); } cout << res; }
#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...