Submission #110294

#TimeUsernameProblemLanguageResultExecution timeMemory
110294_demon_Bali Sculptures (APIO15_sculpture)C++14
16 / 100
10 ms6144 KiB
#include <bits/stdc++.h> using namespace std; int n,a,b; int arr[55]; int dp[55][600][22]; int ans = 100000009;; int bt(int id,int curr,int k){ if(id == n){ if(k >= a && k <= b){ if(curr == 9)cout<<k<<endl; ans = min(ans,curr); return 1; } else return 0; } int &ret = dp[id][curr][k]; if(ret != -1)return ret; ret = 0; int sum = 0; for(int i=id;i<n;i++){ sum += arr[i]; ret = max(ret,bt(i+1,curr|sum,k+1)); } return ret; } int main(){ memset(dp,-1,sizeof(dp)); cin>>n>>a>>b; for(int i=0;i<n;i++){ cin>>arr[i]; } bt(0,0,0); cout<<ans<<endl; }
#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...