Submission #972707

#TimeUsernameProblemLanguageResultExecution timeMemory
972707Halym2007Bali Sculptures (APIO15_sculpture)C++17
0 / 100
1 ms348 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] = 1e9; } } dp1[0][0] = 0; 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] = min (dp1[i][j], dp1[k - 1][j - 1] + 1); } } } } for (int i = A; i <= B; ++i) { if (dp1[n][i] != 1e9) 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 (!check1(x)) { x ^= (1LL << i); } } cout << x << "\n"; }

Compilation message (stderr)

sculpture.cpp: In function 'bool check1(long long int)':
sculpture.cpp:28:1: warning: control reaches end of non-void function [-Wreturn-type]
   28 | }
      | ^
#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...