Problem 4A. 制定城市旅行计划

Problem 4A. 制定城市旅行计划

Problem 4A. 制定城市旅行计划

时间限制:1000ms

内存限制:128MB

故事背景

朱朱最近干外卖赚了不少钱,打算给自己放\(N\)天假期。在导游小季的推荐下, 朱朱打算到各地旅游观光。他计划在接下来的\(N\)天内,每天去一个城市旅行。

但是他有一个问题:朱朱的假期太长,在旅行的时候,可能重复去他之前去过的城市。他想在出发前就确定一个旅行计划,以确保不会在相隔很接近的时间内两次去同一个城市。

每个城市都对应一个正整数编号,旅行计划确定了去城市的先后顺序,构成一个整数数组 \(plans[N]\),其中每个元素\(plans[i]\)代表第\(i\ \)天去的城市。

如果计划中出现第\(i\)天和第\(j(j\geq i+1)\)天去同一个城市,且它们之间相距天数\(j-i\leq k\ \),则代表这个计划不合理;

与之对应的,若计划中没有去相同的城市、或者去相同城市的相距天数均大于\(k\),则表示这个计划合理。

例如下面计划中:\(N=6\),一共要去三个不同的城市,\(k=2\),这个计划是合理的。例如,\(i=0\)天和 \(i=3\)天去同一个城市7,相距天数为\(3>2\)。

image.png

现在,导游小季给出了一个旅行计划,请你判断这个计划是否合理。

输入

输入两个正整数\(N,k\),代表假期天数为\(N\),要求的相距天数\(k\)。

接着输入\(N\)个整数,构成小季提出的旅行计划数组\(plans[N]\)

输出

若旅行计划合理输出1,不合理输出0。

示例

示例1:

输入:

6 2
7 13 80 7 13 80

输出:

1

示例2:

输入:

26 0
1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4

输出:

1

示例3:

输入:

20 5 
5 6 5 7 8 9 10 11 5 6 12 13 14 5 6 15 16 17 18 5

输出:

0

数据范围

  • 对于 100% 数据,\(0 \leq k< n \leq 100\) , \(plans[i] \in [0,1000]\)
  • 注意,本题当然可以使用\(O(n^2)\)的暴力解法求解,你能否想到时间复杂度更低的算法?

信息

ID
1401
难度
4
分类
(无)
标签
(无)
递交数
55
已通过
22
通过率
40%
上传者

相关

在下列比赛中:

悬赏令第四周