首页 > 试题广场 >

种花

[编程题]种花
  • 热度指数:3197 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
公园里有 n 个花园,初始时每个花园里都没有种花,园丁将花园从 到 n 编号并计划在编号为 的花园里恰好种 A朵花,他每天会选择一个区间 [LR]1≤L≤R≤N)并在编号为 到 的花园里各种一朵花,那么园丁至少要花多少天才能完成计划?

数据范围:

输入描述:
第一行包含一个整数 n 。

第二行包含 n 个空格隔开的数 ai 到 an


输出描述:
输出完成计划所需的最少天数。
示例1

输入

5
4 1 8 2 5

输出

14
示例2

输入

5
1 1 1 1 1

输出

1
头像 17c89
发表于 2024-01-22 12:32:50
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); while 展开全文
头像 laglangyue
发表于 2020-06-19 22:32:28
贪心+暴力模拟,100%由第一种方法可以产生一种递归方法,以最小点分割数组,递归两个子数组,递归只能过65%。如下代码:注释中为贪心+模拟,最佳思路:递增数组(评论区大佬) package org.niuke.solution78; import java.util.ArrayList; impo 展开全文
头像 重生之我要当分子
发表于 2024-12-29 23:46:44
解题思路 关键发现: 相邻花园之间的落差决定了需要的天数 如果当前花园比下一个花园的花多,这个差值就是需要单独种的天数 所有这样的差值之和就是总天数 代码 cpp java java python #include <iostream> #include < 展开全文

热门推荐

通过挑战的用户

查看代码
种花