【曼哈顿距离】BISHI25 最大 FST 距离

求解代码

java 复制代码
public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        StreamTokenizer in = new StreamTokenizer(br);

        PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));

        in.nextToken();
        int n = (int) in.nval;

        long[] a = new long[n];

        for (int i = 0; i < n; i++) {
            in.nextToken();
            a[i] = (long) in.nval;
        }

        long maxU = Long.MIN_VALUE;
        long minU = Long.MAX_VALUE;
        long maxV = Long.MIN_VALUE;
        long minV = Long.MAX_VALUE;

        for (long i = 0; i < n; i++) {
            // 计算当前位置的索引(从1开始,而非0)
            long idx = i + 1;
            long val = a[(int) i];

            // 计算u值:位置索引的平方 + 数值的平方
            long u = idx * idx + val * val;
            // 计算v值:位置索引的平方 - 数值的平方
            long v = idx * idx - val * val;

            maxU = Math.max(maxU, u);
            minU = Math.min(minU, u);

            maxV = Math.max(maxV, v);
            minV = Math.min(minV, v);

        }
        long dist = Math.max(maxU - minU, maxV - minV);
        
        out.println(dist);

        out.flush();
        out.close();
        br.close();
    }
相关推荐
雨中飘荡的记忆6 小时前
ElasticJob分布式调度从入门到实战
java·后端
考虑考虑15 小时前
JDK25模块导入声明
java·后端·java ee
_小马快跑_16 小时前
Java 的 8 大基本数据类型:为何是不可或缺的设计?
java
Re_zero19 小时前
线上日志被清空?这段仅10行的 IO 代码里竟然藏着3个毒瘤
java·后端
洋洋技术笔记19 小时前
Spring Boot条件注解详解
java·spring boot
程序员清风2 天前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
皮皮林5512 天前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
华仔啊2 天前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing2 天前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员
日月云棠2 天前
各版本JDK对比:JDK 25 特性详解
java