Submission #478221

#TimeUsernameProblemLanguageResultExecution timeMemory
478221PiejanVDCBali Sculptures (APIO15_sculpture)C++17
0 / 100
1045 ms300 KiB
#include <bits/stdc++.h> using namespace std; int64_t n,a,b; vector<int64_t>v; vector<int64_t>pref; int64_t ans = INT_MAX; void dfs(int64_t i, int64_t cnt, int64_t curr, int64_t prev) { if(i == n) { if(cnt >= a && cnt <= b) curr|=(pref[i]-pref[prev]); ans=min(ans,curr); return; } if(cnt < b) { if(i != 0) dfs(i+1,cnt+1,(curr|(pref[i]-pref[prev])),i); } dfs(i+1,cnt,curr,prev); } signed main() { cin>>n>>a>>b; v.resize(n); for(auto &z : v) cin>>z; pref.resize(n+1); pref[0]=0; for(int i = 0 ; i < n ; i++) pref[i+1] = pref[i] + v[i]; dfs(0,1,0,0); cout << ans; }

Compilation message (stderr)

sculpture.cpp: In function 'void dfs(int64_t, int64_t, int64_t, int64_t)':
sculpture.cpp:12:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   12 |         if(cnt >= a && cnt <= b)
      |         ^~
sculpture.cpp:14:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   14 |             ans=min(ans,curr);
      |             ^~~
#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...