/*此题是一个序列中任意两个数相乘,除了自己和自己以外得到的最大的数且该数字是类似于“1234”连续上升的*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <map>
#include <set>
using namespace std;
int num[1010];
int main()
{
int n;
while(scanf("%d", &n) != EOF){
set <int > ss;
char s[1010];
for(int i = 0; i < n; i++){
scanf("%d", &num[i]);
}
int sum;
int cc = 0;
for(int i = 0; i < n-1; i++){
for(int j = i+1; j < n; j++){
sum = num[i]*num[j];
int cnt = 0;
sprintf(s, "%d", sum);
for(int l = 0; l < strlen(s)-1; l++)
{
if(s[l+1] - s[l] == 1)
cnt++;
}
if(cnt == strlen(s) - 1)
ss.insert(sum);
}
}
int maxn = 0;
if(!ss.size()) {
cout << "-1" << endl;
continue;
}
for(set<int> :: iterator it = ss.begin(); it != ss.end(); it++){//这里是用了set爱找字典序排序的特点
maxn = max(maxn, *it);
}
cout << maxn << endl;
}
}
09-11
09-11
09-11
09-11