#include <bits/stdc++.h> using namespace std; #define int long long #define endl '\n' #define N 100005 //本题做法:|i^2-j^2|+|ai^2-aj^2|存在2个变量(因为ai,aj可以用下标i,j表示出来) //但是ij之间没有必然联系,我们要试着化简把i,ai放在一起j,aj一起 //|i^2-j^2|+|ai^2-aj^2|,分类讨论可以得到4种情况 //1:|i^2-j^2|>=0且|ai^2-aj^2|>=0 =>(i^2-j^2)+(ai^2-aj^2)=>(i^2+ai^2)-(j^2+aj^2) //2: |i^2-j^2|>=0且|ai^2-aj^2|<0 =>(i^2-j^2)-(ai^2-aj^2)=>(i^2-ai^2)-(j^2-aj^2) //3: <0且>=0 =>-(i^2-j^2)+(ai^2-aj^2)=>-(i^2-ai^2)+(j^2-aj^2) //4: <0且<0 =>-(i^2-j^2)-(ai^2-aj^2)=>-(i^2+ai^2)+(j^2+aj^2) //相似的放在一起直观的比较一下 //(i^2+ai^2)-(j^2+aj^2) i>=j且ai>=aj的情况 //-(i^2+ai^2)+(j^2+aj^2) i<j且ai<aj的情况 //观察可以知道都是()大的-()小的,我们排序后取用最大值-最小值就可以 //(i^2-ai^2)-(j^2-aj^2) i>=j且ai<aj的情况 //-(i^2-ai^2)+(j^2-aj^2) i<j且ai>=aj的情况 //这个也是同理,()大-()小 int n; int a[N]; int b[N],c[N]; signed main() { cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=n;i++){ b[i]=i*i+a[i]*a[i]; c[i]=i*i-a[i]*a[i]; } sort(b+1,b+1+n); sort(c+1,c+1+n); int ans=0; ans=max(b[n]-b[1],c[n]-c[1]); cout<<ans<<endl; return 0; }