제출 #646685

#제출 시각아이디문제언어결과실행 시간메모리
646685Tenis0206Bali Sculptures (APIO15_sculpture)C++11
50 / 100
224 ms388 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const int oo = INT_MAX; int n,a,b; int v[100005]; int sp[100005]; int dp[100005]; void solve_1() { int val = 0; for(int bit=60;bit>=0;bit--) { for(int i=1;i<=n;i++) { dp[i] = oo; } for(int i=1;i<=n;i++) { for(int j=i-1;j>=0;j--) { int sum = sp[i] - sp[j]; if(((val >> bit) | (sum >> bit)) != (val >> bit)) { continue; } dp[i] = min(dp[i],1 + dp[j]); } } if(dp[n] > b) { val += (1LL<<bit); } } cout<<val<<'\n'; } void solve() { } signed main() { ios::sync_with_stdio(false); cin.tie(0); #ifdef home freopen("nr.in","r",stdin); freopen("nr.out","w",stdout); #endif // home cin>>n>>a>>b; for(int i=1;i<=n;i++) { cin>>v[i]; sp[i] = sp[i-1] + v[i]; } if(a==1) { solve_1(); return 0; } solve(); 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...