打卡信奥刷题(134)用Scratch图形化工具信奥P10133 [普及组][USACO24JAN] Balancing Bacteria B

[USACO24JAN] Balancing Bacteria B

题目描述

Farmer John 有 N N N 1 ≤ N ≤ 2 ⋅ 1 0 5 1\le N\le 2\cdot 10^5 1N2105)块草地排成一行,其中草地 i i i 的细菌水平与健康草的细菌水平相差 a i a_i ai − 1 0 15 ≤ a i ≤ 1 0 15 −10^{15}\le a_i\le 10^{15} 1015ai1015)。例如,如果 a i = − 3 a_i=−3 ai=3,则草地 i i i 的细菌水平比正常水平低 3 3 3,需要额外添加恰好 3 3 3 个单位的细菌才能将其提高到被认为是健康的程度。

Farmer John 想要确保每一块草地都被修复至健康的细菌水平。方便的是,他有两种品牌的农药可以喷洒在他的田地里,一种可以添加细菌,另一种可以去除细菌。当 Farmer John 喷洒任一类型的农药时,他站在草地 N N N(最右边的草地)并为他的喷雾器选择功率等级 L L L 1 ≤ L ≤ N 1\le L\le N 1LN)。

喷雾器对靠近 Farmer John 的草地效果最大,随着距离增加效果逐渐减弱。如果 Farmer John 选择添加细菌的农药,则 L L L 单位的细菌将被添加至草地 N N N L − 1 L−1 L1 单位添加至草地 N − 1 N−1 N1 L − 2 L−2 L2 单位添加至草地 N − 2 N−2 N2,以此类推。草地 1 … N − L 1\ldots N−L 1NL 不会得到任何细菌,因为喷雾器设置的功率不足以到达它们。类似地,如果 Farmer John 选择去除细菌的农药,则 L L L 单位的细菌将被从草地 N N N 去除, L − 1 L−1 L1 单位被从草地 N − 1 N−1 N1 去除,以此类推。同样,草地 1 … N − L 1\ldots N−L 1NL 将不受影响。

求 Farmer John 使用喷雾器的最少次数,使得每块草地都具有健康草的推荐细菌值。输入保证答案不超过 1 0 9 10^9 109

注意这个问题涉及到的整数可能需要使用 64 位整数型(例如,C/C++ 中的 “long long”)。

输入格式

输入的第一行包含 N N N

第二行包含 N N N 个整数 a 1 … a N a_1\ldots a_N a1aN,为每块草地的初始细菌水平。

输出格式

输出一个整数,为使每块草地都具有健康草的推荐的细菌值所需使用喷雾器的最少次数。

样例 #1

样例输入 #1

2
-1 3

样例输出 #1

6

样例 #2

样例输入 #2

5
1 3 -2 -7 5

样例输出 #2

26

提示

样例解释 1

使用去除细菌的农药,功率等级为 1 1 1,使用五次。然后使用添加细菌的农药,功率等级为 2 2 2,使用一次。

测试点性质

  • 测试点 3 − 5 3-5 35 N ≤ 1 0 3 N\le 10^3 N103,答案不超过 1 0 3 10^3 103
  • 测试点 6 − 10 6-10 610 N ≤ 1 0 3 N\le 10^3 N103
  • 测试点 11 − 15 11-15 1115:没有额外限制。

Scratch实现

在这里插入图片描述

后续

接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容

  • 30
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值