暴力TLE后三,大佬求助
查看原帖
暴力TLE后三,大佬求助
745896
hagoubang123楼主2024/8/31 13:57
#include <bits/stdc++.h>
using namespace std;
long long n;
long long a[200005];
long long s[200005],vis[200005],k=0;
int main(){
	cin >> n;
	memset(vis,0,sizeof(vis));
	for(long long i=1;i<=n;i++){
		cin >> a[i];
		for(long long j=1;j<i;j++){
			long long c=a[j]%a[i];
			long long d=a[i]%a[j];
			if(!vis[c]){
				vis[c]=1;
				s[k++]=c;
			}
			if(!vis[d]){
				vis[d]=1;
				s[k++]=d;
			}
		}
	}
	if(k==1 || k==0){
		cout << "-1";
		return 0;
	}
	sort(s,s+k);
	cout << s[k-2];
	return 0;
}
2024/8/31 13:57
加载中...