Submission #31132

#TimeUsernameProblemLanguageResultExecution timeMemory
31132nibnalinBali Sculptures (APIO15_sculpture)C++14
0 / 100
1000 ms28016 KiB
#include <iostream> #include <cstdio> #include <vector> using namespace std; typedef long long int lli; const lli maxn = 55, inf = lli(1e14)+5; lli n, a, b, ans = inf, A[maxn], memo[maxn][maxn][maxn*20]; void DP(lli idx, lli p, lli mask) { if(idx == n+1) { if(a <= p && p <= b) ans = min(ans, mask); else return; } else if(p > b) return; else if(memo[idx][p][mask]) return; else { for(lli i = idx;i <= n;i++) DP(i+1, p+1, mask|(A[i]-A[idx-1])); } } int main(void) { scanf("%lld%lld%lld", &n, &a, &b); for(lli i = 1;i <= n;i++) scanf("%lld", &A[i]); for(lli i = 1;i <= n;i++) A[i] += A[i-1]; DP(1, 0, 0); printf("%lld\n", ans); }

Compilation message (stderr)

sculpture.cpp: In function 'int main()':
sculpture.cpp:29:35: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld%lld%lld", &n, &a, &b);
                                   ^
sculpture.cpp:31:48: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(lli i = 1;i <= n;i++) scanf("%lld", &A[i]);
                                                ^
#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...