AT_arc017_2 [ARC017B] 解像度が低い。
题目描述
发生了不得了的事情!!
竟然,我被选为我们公司的下一次决算报告会的发言人!为了公司的形象,也为了我在公司内部的地位,无论如何都要做出给人好印象的报告。
我们公司最近的业绩可以用一个包含 $N$ 个数的数列来表示。虽然我很想把这个数列全部展示出来……,但实际上,我们公司的业绩并不能说有多好。我到底该怎么办才好呢……
正当我一筹莫展时,我决定先调查一下报告会场的设备。没想到,这也许是我与生俱来的好运,投影仪的分辨率非常低,屏幕上一次最多只能显示 $K$ 个数字。如果能巧妙地选择业绩数列中连续的 $K$ 个数字,也许就能让公司业绩看起来像是节节攀升?
我觉得这是个绝妙的主意,但如果听众问我“那只是业绩的一部分吧?能不能把其他部分也给我们看看?”那就完蛋了。因此,为了做好万全准备,我决定事先调查一下,在业绩数列中,有多少个连续的 $K$ 个数字的区间,在投影仪上显示时,看起来业绩始终在上升。
为了强调公司是持续成长的企业,某个值必须严格大于它前面的值。也就是说,像 $100,\,200,\,300$ 这样的序列被认为是始终上升的,但 $100,\,200,\,200$ 这样的序列则不被认为是始终上升的。
※本题为虚构。业绩请如实报告。
输入按以下格式从标准输入给出。
> $N$ $K$ $A_1$ $A_2$ : $A_N$
- 第 $1$ 行给出表示业绩的数列元素个数 $N\ (1\leq N\leq 300,000)$,以及投影仪一次能显示的数字个数 $K\ (1\leq K\leq N)$,两者以半角空格分隔。
- 第 $2$ 行到第 $N$ 行,每行给出一个表示业绩的整数 $A_i\ (1\leq A_i\leq 300,000)$,第 $i$ 行表示第 $i$ 个业绩。
**注意:** 本题最多需要读取 $300,000$ 行输入。大多数编程语言没有问题,但**如果用 Python 2.x 的 `input()` 读取,可能无法在时限内完成。请改用 `int(raw_input())` 读取整数。**
请输出业绩数列中,能够在投影仪上显示且看起来业绩始终上升的连续 $K$ 个数字的区间个数,输出一行。
```
10 4
100
300
600
700
800
400
500
800
900
900
```
```
3
```
从表示业绩的 $10$ 个数字中,取出连续的 $4$ 个,可以得到:
- $(100,\,300,\,600,\,700)$ 是始终上升的
- $(300,\,600,\,700,\,800)$ 是始终上升的
- $(600,\,700,\,800,\,400)$ 不是始终上升的
- $(700,\,800,\,400,\,500)$ 不是始终上升的
- $(800,\,400,\,500,\,800)$ 不是始终上升的
- $(400,\,500,\,800,\,900)$ 是始终上升的
- $(500,\,800,\,900,\,900)$ 不是始终上升的
因此,答案为 $3$。
```
10 3
10
40
50
80
90
30
20
40
90
95
```
```
5
```
在这种情况下,始终上升的区间如下图箭头所示,共有 $5$ 个。

```
8 4
1
2
3
4
5
6
7
8
```
```
5
```
原本业绩就一直在上升,无论投影仪显示哪一段都没有问题。
```
8 2
100000
90000
50000
30000
10000
4000
200
1
```
```
0
```
如果原本业绩太差,无论显示哪一段都无法让业绩看起来是上升的。
输入格式
第 $1$ 行包含两个整数 $N$ 和 $K$,以空格分隔。
接下来的 $N$ 行,每行一个整数 $A_i$,表示业绩数列的第 $i$ 项。
输出格式
输出一个整数,表示业绩数列中连续 $K$ 个数字的区间中,业绩始终上升的区间个数。
说明/提示
无。
由 ChatGPT 4.1 翻译