Submission #905887

#TimeUsernameProblemLanguageResultExecution timeMemory
905887Muhammad_AneeqBali Sculptures (APIO15_sculpture)C++17
9 / 100
1076 ms612 KiB
/*
بسم الله الرحمن الرحيم
Author:
                          (:Muhammad Aneeq:)
*/

#include <iostream>
using namespace std;
#define int long long
int n,a,b;
int ans=1e15+10;
int const N=3000;
int pre[N]={};
void dfs(int i,int val,int cnt)
{
	if (cnt>b||val>ans)
		return;
	if (i==n-1&&cnt>=a&&cnt<=b)
	{
		ans=min(ans,val);
		return;
	}
	for (int j=i+1;j<n;j++)
		dfs(j,val|(pre[j+1]-pre[i+1]),cnt+1);
}
void solve()
{
	cin>>n>>a>>b;
	for (int i=0;i<n;i++)
	{
		int x;
		cin>>x;
		pre[i+1]=pre[i]+x;
	}
	dfs(-1,0,0);
	cout<<ans<<endl;
}	
signed main()
{
  ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
        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...