Submission #1243974

#TimeUsernameProblemLanguageResultExecution timeMemory
1243974wedonttalkanymoreBali Sculptures (APIO15_sculpture)C++20
21 / 100
354 ms31916 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define int long long #define pii pair<ll, ll> #define fi first #define se second const ll N = 2e3 + 5, inf = 1e18, mod = 1e9 + 7, block = 320; int f[N][N]; // xet den i va da chia xong x nhom int n, l, r; int pfs[N], a[N]; int dp(int i, int x) { if (i > n) { if (x == 0) return 0; return (1LL << 60); } if (x == 0) return (1LL << 60); if (f[i][x] != -1) return f[i][x]; int ans = (1LL << 60); for (int j = i; j <= n; j++) { int val = pfs[j] - pfs[i - 1]; if (x > 0) ans = min(ans, dp(j + 1, x - 1) | val); } return f[i][x] = ans; } signed main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n >> l >> r; for (int i = 1; i <= n; i++) cin >> a[i]; for (int i = 1; i <= n; i++) pfs[i] = pfs[i - 1] + a[i]; int res = inf; for (int i = l; i <= r; i++) { memset(f, -1, sizeof(f)); res = min(res, dp(1, i)); } cout << res; 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...