求解代码
publicstaticvoidmain(String[]args)throwsIOException{BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));StreamTokenizerin=newStreamTokenizer(br);PrintWriterout=newPrintWriter(newOutputStreamWriter(System.out));in.nextToken();intn=(int)in.nval;long[]a=newlong[n];for(inti=0;i<n;i++){in.nextToken();a[i]=(long)in.nval;}longmaxU=Long.MIN_VALUE;longminU=Long.MAX_VALUE;longmaxV=Long.MIN_VALUE;longminV=Long.MAX_VALUE;for(longi=0;i<n;i++){// 计算当前位置的索引(从1开始,而非0)longidx=i+1;longval=a[(int)i];// 计算u值:位置索引的平方 + 数值的平方longu=idx*idx+val*val;// 计算v值:位置索引的平方 - 数值的平方longv=idx*idx-val*val;maxU=Math.max(maxU,u);minU=Math.min(minU,u);maxV=Math.max(maxV,v);minV=Math.min(minV,v);}longdist=Math.max(maxU-minU,maxV-minV);out.println(dist);out.flush();out.close();br.close();}