제출 #972725

#제출 시각아이디문제언어결과실행 시간메모리
972725Halym2007Bali Sculptures (APIO15_sculpture)C++17
71 / 100
20 ms756 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int N = 2e3 + 5; ll n, A, B, dp[N], a[N], dp1[105][105]; bool check1 (ll x) { for (int i = 0; i <= n; ++i) { for (int j = 0; j <= n; ++j) { dp1[i][j] = 0; } } dp1[0][0] = 1; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= i; ++j) { ll sum = 0; for (int k = i; k > 0; k--) { sum += a[k]; if ((sum & x) == sum) { dp1[i][j] |= dp1[k - 1][j - 1]; } } } } for (int i = A; i <= B; ++i) { if (dp1[n][i]) return 1; } return 0; } int main () { // freopen ("input.txt", "r", stdin); cin >> n >> A >> B; for (int i = 1; i <= n; ++i) { cin >> a[i]; } ll x = (1LL << 42) - 1; for (int i = 41; i >= 0; i--) { x ^= (1LL << i); // if (x == 15) { // cout << " men : - > " << check1 (x) << "\n"; // return 0; // } if (!check1(x)) x ^= (1LL << i); } cout << x << "\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...