#include <algorithm>
#include <iostream>
#include<cmath>
using namespace std;
using ll=long long;
struct p{
ll id_add_A;
ll id_sub_A;
};
bool cmp1(p a1,p a2){
return a1.id_add_A>a2.id_add_A;
}
bool cmp2(p a1,p a2){
return a1.id_sub_A>a2.id_sub_A;
}
int main() {
int n;cin>>n;
p a[n+1];
for(ll i=1;i<=n;++i){
ll b;cin>>b;
a[i].id_add_A=i*i+b*b;
a[i].id_sub_A=i*i-b*b;
}
sort(a+1,a+n+1,cmp1);
ll a1=a[1].id_add_A-a[n].id_add_A;
sort(a+1,a+n+1,cmp2);
ll a2=a[1].id_sub_A-a[n].id_sub_A;
cout<<max(a1,a2);
}
// 64 位输出请用 printf("%lld")
解题思路:保证|i**2-j**2|>=0的条件下,拆|Ai**2-Aj**2|绝对值,得到两种表达式
i**2+Ai**2-(j**2+Aj**2)和i**2-Ai**2-(j**2-Aj**2)
所以实际上就是分别求i**2+Ai**2和i**2-Ai**2四种最大值和最小值

京公网安备 11010502036488号