제출 #1296299

#제출 시각아이디문제언어결과실행 시간메모리
1296299trufanov.pBali Sculptures (APIO15_sculpture)C++20
0 / 100
1 ms576 KiB
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <vector> #include <algorithm> #include <cstring> #include <cctype> #include <string> #include <queue> #include <unordered_set> #include <deque> #include <numeric> #include <cmath> #include <unordered_map> #include <set> #include <stack> #include <complex> #include <random> #include <map> #include <list> #include <functional> using namespace std; typedef long long ll; const ll LLINF = 1e18; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, a, b; cin >> n >> a >> b; vector<ll> y(n); for (int i = 0; i < n; ++i) { cin >> y[i]; } vector<ll> pref(n); partial_sum(y.begin(), y.end(), pref.begin()); vector<vector<ll>> dp(n, vector<ll>(b + 1, LLINF)); dp[0][1] = y[0]; for (int i = 1; i < n; ++i) { dp[i][1] = pref[i]; for (int j = 2; j <= min(i + 1, b); ++j) { for (int k = j - 2; k < i; ++k) { dp[i][j] = min(dp[i][j], dp[k][j - 1] | (pref[i] - pref[k])); } } } cout << *min_element(dp[n - 1].begin() + a, dp[n - 1].begin() + b + 1) << '\n'; }
#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...