比赛 !信心赛 评测结果 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
题目名称 《数列》 最终得分 100
用户昵称 yyswys 运行时间 9.486 s
代码语言 C++ 内存使用 4.01 MiB
提交时间 2026-01-17 09:49:26
显示代码纯文本
#include<bits/stdc++.h>
#define cin std::cin
#define cout std::cout
#define ciallo ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

using namespace std;
const int N=1e5+5;
int n,a[N],cnt[N];
int maxa,mina=N;
bitset<N>f;

int main(){
	freopen("arrayy.in","r",stdin);
	freopen("arrayy.out","w",stdout);
	ciallo
	cin>>n;
	for(int i(1);i<=n;++i){
		cin>>a[i];
		++cnt[a[i]];
		mina=min(mina,a[i]);
 		maxa=max(maxa,a[i]);
	}
	if(cnt[mina]==1){
		cout<<mina<<"\n";
		return 0;
	}
	sort(a+1,a+1+n);
	int m=unique(a+1,a+1+n)-(a+1);
	for(int i(1);i<=m;++i){
		f.set(a[i]);
	}
	for(int i(m);i>=1;--i){
		int d=a[i];
		for(int k=1;k*d<=maxa;++k){
			int l=k*d,r=min(maxa,(k+1)*d-1);
			bitset<N>d=(f<<(N-1-r))>>(N-1-r+l);
			f|=d;
		}
	}
	for(int i(mina-1);i>=0;--i){
		if(f.test(i)){
			cout<<i<<"\n";
			break;
		}
	}
	return 0;
}