A6385 | 「COCI 2010.02」OGRADA
时间限制1s
内存限制32MB
通过 / 提交0/0
题目描述
**译自 [COCI 2010.02](http://hsin.hr/coci/archive/2009_2010/) T4.** ***[OGRADA](http://hsin.hr/coci/archive/2009_2010/contest4_tasks.pdf)***
Matija 的栅栏由 $N$ 条木板组成,从左到右依次编号为 $1\ldots N$。$i$ 号木板的高度为 $h_i$,每条木板的宽度是 $1\ \rm{cm}$。
Matija 想用一个宽度为 $X\ \rm{cm}$ 的滚筒刷来刷木板。使用滚筒刷时,要保证刷子**完全**接触栅栏(不能一部分接触一部分不接触);另外,还要保证滚筒平行于地面。因此,每次涂色时,Matija 会在栅栏上选择连续的 $x$ 条木板,然后从下往上「刷」,一直刷到这 $x$ 条木板中最矮者的高度。
根据上述规则,有可能有一些木板没法用滚筒刷来刷,Matija 不得不用牙刷来「涂」剩下的部分。因此,请帮他求出他最少只需用牙刷「涂」多少平方厘米。他还想知道,在满足「涂」的面积最少的情况下,他最少要用滚筒刷「刷」多少次。
Matija 的栅栏由 $N$ 条木板组成,从左到右依次编号为 $1\ldots N$。$i$ 号木板的高度为 $h_i$,每条木板的宽度是 $1\ \rm{cm}$。
Matija 想用一个宽度为 $X\ \rm{cm}$ 的滚筒刷来刷木板。使用滚筒刷时,要保证刷子**完全**接触栅栏(不能一部分接触一部分不接触);另外,还要保证滚筒平行于地面。因此,每次涂色时,Matija 会在栅栏上选择连续的 $x$ 条木板,然后从下往上「刷」,一直刷到这 $x$ 条木板中最矮者的高度。
根据上述规则,有可能有一些木板没法用滚筒刷来刷,Matija 不得不用牙刷来「涂」剩下的部分。因此,请帮他求出他最少只需用牙刷「涂」多少平方厘米。他还想知道,在满足「涂」的面积最少的情况下,他最少要用滚筒刷「刷」多少次。
输入格式
第一行:$N,X$。
第二行:$h_1\ldots h_N$。
第二行:$h_1\ldots h_N$。
输出格式
两行。
第一行有一个整数,表示 Matija 最少需用牙刷涂多少平方厘米。
第二行有一个整数,表示最少要用滚筒刷「刷」多少次。
第一行有一个整数,表示 Matija 最少需用牙刷涂多少平方厘米。
第二行有一个整数,表示最少要用滚筒刷「刷」多少次。
输入输出样例
输入 #1
5 3 5 3 4 4 5
输出 #1
3 2
输入 #2
10 3 3 3 3 3 3 3 3 3 3 3
输出 #2
0 4
输入 #3
7 4 1 2 3 4 3 2 1
输出 #3
4 4
$1\le N\le 10^6,$ $1\le X\le 10^5,$ $1\le h_i\le 10^6$.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?