AT_arc017_2.[ARC017B] 解像度が低い。
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
发生了不得了的事情!!
竟然,我被选为我们公司的下一次决算报告会的发言人!为了公司的形象,也为了我在公司内部的地位,无论如何都要做出给人好印象的报告。
我们公司最近的业绩可以用一个包含 N 个数的数列来表示。虽然我很想把这个数列全部展示出来……,但实际上,我们公司的业绩并不能说有多好。我到底该怎么办才好呢……
正当我一筹莫展时,我决定先调查一下报告会场的设备。没想到,这也许是我与生俱来的好运,投影仪的分辨率非常低,屏幕上一次最多只能显示 K 个数字。如果能巧妙地选择业绩数列中连续的 K 个数字,也许就能让公司业绩看起来像是节节攀升?
我觉得这是个绝妙的主意,但如果听众问我“那只是业绩的一部分吧?能不能把其他部分也给我们看看?”那就完蛋了。因此,为了做好万全准备,我决定事先调查一下,在业绩数列中,有多少个连续的 K 个数字的区间,在投影仪上显示时,看起来业绩始终在上升。
为了强调公司是持续成长的企业,某个值必须严格大于它前面的值。也就是说,像 100,200,300 这样的序列被认为是始终上升的,但 100,200,200 这样的序列则不被认为是始终上升的。
※本题为虚构。业绩请如实报告。
输入按以下格式从标准输入给出。
N K A1 A2 : AN
- 第 1 行给出表示业绩的数列元素个数 N (1≤N≤300,000),以及投影仪一次能显示的数字个数 K (1≤K≤N),两者以半角空格分隔。
- 第 2 行到第 N 行,每行给出一个表示业绩的整数 Ai (1≤Ai≤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 行,每行一个整数 Ai,表示业绩数列的第 i 项。
输出格式
输出一个整数,表示业绩数列中连续 K 个数字的区间中,业绩始终上升的区间个数。
说明/提示
无。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?