Submission #1273037

#TimeUsernameProblemLanguageResultExecution timeMemory
1273037DeathIsAweBali Sculptures (APIO15_sculpture)C++20
0 / 100
1 ms584 KiB
#pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") #include <bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back #define pf push_front #define mp make_pair #define ll long long ll dp1[2000][2000], arr[2000], n, a, b; ll powfunc(int a) { ll val = 1; for (int i=0;i<a;i++) { val *= 2; } return val; } bool solve(ll val) { if (a != 1) { } else { ll limit = 0, groups = 1, sum = 0; bool ans; while (limit != n) { sum = 0; ans = false; for (int i=limit;i<n;i++) { sum += arr[i]; if ((sum & val) == sum) { limit = i + 1; ans = true; } } if (!ans) return false; groups += 1; } if (groups > b + 1) return false; return true; } } int main() { cin >> n >> a >> b; for (int i=0;i<n;i++) { cin >> arr[i]; } ll ans = powfunc(42) - 1; for (int i=41;i>-1;i--) { ans -= powfunc(i); if (solve(ans)) continue; else ans += powfunc(i); } cout << ans; }

Compilation message (stderr)

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