欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

铺设道路(洛谷P5019题题解,Java语言描述)

程序员文章站 2022-06-04 15:44:40
...

题目要求

题目链接

铺设道路(洛谷P5019题题解,Java语言描述)

分析

纯模拟,爆炸,数据量太大,然后参考dalaodalao的博客了解本题的贪心算法,最终AC。

AC代码(Java语言描述)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int num = Integer.parseInt(reader.readLine().trim());
        String[] str_nums = reader.readLine().split(" ");
        reader.close();
        int[] nums = new int[num];
        long result = 0;
        for (int i = 0; i < num; i++) {
            nums[i] = Integer.parseInt(str_nums[i]);
        }
        for (int i = 1; i < num; i++) {
            if (nums[i] > nums[i-1]) {
                result += nums[i]-nums[i-1];
            }
        }
        System.out.println(result+nums[0]);
    }
}