제출 #905872

#제출 시각아이디문제언어결과실행 시간메모리
905872Faisal_SaqibBali Sculptures (APIO15_sculpture)C++17
0 / 100
1 ms436 KiB
#include <iostream>
#include <set>
#include <algorithm>
#include <vector>
using namespace std;
#define ll long long
const ll inf=1e18;
ll aps[10000];
int main()
{
	int n,a,b;
	cin>>n>>a>>b;
	for(int i=0;i<n;i++)
		cin>>aps[i];
	// long long ans=inf;	
	ll ans=inf;
	ll cur=0;
	for(int i=0;i<n;i++)
	{
		cur+=aps[i];
		ll _or=cur;
		ll len=0;
		ll cp=0;
		ll ro=1;
		bool pos=1;
		for(int j=i+1;pos and j<n;j++)
		{
			cp+=aps[j];
			len++;
			for(int jp=20;jp>=0;jp--)
			{
				if((cp&(1<<jp))>(cur&(1<<jp)))
				{
					// We can not add a[j] to cp so we stop
					cp-=aps[j];
					len--;
					_or=(_or|cp);
					if(len==0)
					{
						pos=0;
						break;
					}
					ro++;
					cp=aps[j];
					len=1;
				}
			}
		}
		if(len!=0)
		{
			ro++;
		}
		if(a<=ro and ro<=b and pos)
		{
			ans=min(ans,_or);
		}
	}
	cout<<ans<<endl;
	return 0;
}
#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...