Submission #239157

#TimeUsernameProblemLanguageResultExecution timeMemory
239157dCodingBali Sculptures (APIO15_sculpture)C++14
0 / 100
5 ms384 KiB
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include <iomanip> #include <vector> #include <algorithm> #include <numeric> #include <set> #include <map> #include <stack> #include <queue> #include <deque> #include <unordered_map> #define ll long long int #define F0R(i,n) for(auto i = 0; i < (n); i++) #define FOR(i,a,b) for(auto i = (a); i <= (b); i++) #define ROF(i,a,b) for(auto i = (a); i >= (b); i--) #define pii pair<int,int> #define pll pair<ll,ll> #define vv vector #define F first #define S second #define pb push_back #define vi vector<int> using namespace std; const int MAXN = 105; int n,a,b; ll arr[MAXN],pre[MAXN]; ll dp[MAXN][MAXN]; signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> a >> b; FOR(i,1,n) cin >> arr[i]; FOR(i,1,n) pre[i] = pre[i-1]+arr[i]; FOR(i,1,n) { FOR(j,1,i) { ll res = pre[i]; FOR(k,1,i-1) { if(j<k)continue; res = min(res, dp[k][j-1]|(pre[i]-pre[k])); // cout << "i = " << i << " j = " << j << " k = " << k << " res = " << res << endl; } dp[i][j] = res; } } ll ans = 1e9; FOR(i,a,b) ans = min(ans,dp[n][i]); cout << ans; // cout << endl << endl; // FOR(i,1,n) { // FOR(j,1,n) { // cout << dp[i][j] << " "; // } // cout << 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...