#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
bool cmp(int a,int b){return a > b;}
int main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int n,tmp,size,cnt = 0;
const int PIANFEN = 1e7;
vector <int> v,ans;
cin >> n;
for (int i = 0;i < n;i++)
cin >> tmp,v.push_back(tmp);
stable_sort(v.begin(),v.end(),cmp);
size = unique(v.begin(),v.end()) - v.begin();
for (int i = 0;i < size;i++)
for (int j = 0;j < size;j++){
if (++cnt > PIANFEN){
stable_sort(ans.begin(),ans.end(),cmp);
size = unique(ans.begin(),ans.end()) - ans.begin();
if (size < 2) cout << -1 << endl;
else cout << ans[1] << endl;
return 0;
}
if (i != j)
ans.push_back(v[i] % v[j]);
}
stable_sort(ans.begin(),ans.end(),cmp);
size = unique(ans.begin(),ans.end()) - ans.begin();
if (size < 2) cout << -1 << endl;
else cout << ans[1] << endl;
return 0;
}
跑完就是O(n^2)的空间复杂度,和更高的时间复杂度,但是卡时竟然没有WA,离谱