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$ 个。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_arc017_2/fb99d046b6e768145edbb7e1ae5398f78b193ad8.png) ``` 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 翻译