제출 #670893

#제출 시각아이디문제언어결과실행 시간메모리
670893Dan4LifeBali Sculptures (APIO15_sculpture)C++17
0 / 100
15 ms31960 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int maxn = (int)2e3+10; const int LINF = (int)1e18; int n, A, B; int a[maxn]; int dp[maxn][maxn]; int recur(int pos, int k, int tot, int Or){ if(k>B) return LINF; if(dp[pos][k]!=-1) return dp[pos][k]; if(pos==n){ if(k<A or k>B) return LINF; return Or|tot; } int x1 = recur(pos+1,k,tot+a[pos],Or); int x2 = recur(pos+1,k+1,a[pos],Or|tot); return dp[pos][k] = min(x1,x2); } int32_t main() { cin >> n >> A >> B; memset(dp,-1,sizeof(dp)); for(int i = 0; i < n; i++) cin >> a[i]; cout << recur(0,1,0,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...