Submission #1312212

#TimeUsernameProblemLanguageResultExecution timeMemory
1312212yus1f_mBali Sculptures (APIO15_sculpture)C++20
9 / 100
1095 ms580 KiB
#pragma GCC optimize("O3") #include <bits/stdc++.h> #define ll long long #define str string #define pb push_back #define pf push_front #define in insert #define all(v) v.begin(),v.end() const ll sz=1000000,INF=1000000000000000000; using namespace std; vector<ll>pow2; void solve() { ll n,m,l,num,cnt,res,sum,ans=INF; cin>>n>>m>>l; vector<ll>nums; vector<bool>isGood(n+1); for(int i=0;i<n;i++) { cin>>num; nums.pb(num); } for(int i=1;i<pow2[n];i++) { fill(all(isGood),false),cnt=0; for(int j=0;j<n-1;j++) { if(i&pow2[j]) { cnt++,isGood[j]=true; } } if(cnt>=m-1 && cnt<=l-1) { res=0,sum=0; for(int j=0;j<nums.size();j++) { sum+=nums[j]; if(isGood[j]) { res|=sum,sum=0; } } res|=sum; ans=min(ans,res); } } cout<<ans; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr),cout.tie(nullptr); for(ll i=1;i<INF;i*=2) { pow2.pb(i); } ll t=1; //cin>>t; while(t--) { solve(); } }
#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...