제출 #1318657

#제출 시각아이디문제언어결과실행 시간메모리
1318657khanhphucscratchBali Sculptures (APIO15_sculpture)C++20
50 / 100
100 ms452 KiB
#include<bits/stdc++.h> #define int long long using namespace std; inline int flipbit(int num, int bit) { return num ^ (1ll << bit); } int a[2005], dp[2005]; bool check(int x, int n, int l, int r) { dp[0] = 0; for(int i = 1; i <= n; i++){ dp[i] = 1e18; int cursum = 0; for(int j = i; j >= 1; j--){ cursum += a[j]; if((cursum & x) == cursum) dp[i] = min(dp[i], dp[j-1] + 1); } } return dp[n] <= r; } signed main() { ios_base::sync_with_stdio(false); cin.tie(0); /*n <= 2000 but l = 1*/ int n, l, r; cin>>n>>l>>r; for(int i = 1; i <= n; i++) cin>>a[i]; int ans = (1ll << 50)-1; for(int i = 49; i >= 0; i--){ ans = flipbit(ans, i); if(check(ans, n, l, r) == 0) ans = flipbit(ans, i); //Submask binary search technique } cout<<ans; }
#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...