题目描述
有 n 根柱子,第 i 根柱子的高度为 hi。
你需要找出一个尽可能长的跳跃序列 i1,i2,…,ik,满足:
- 1≤i1<i2<⋯<ik≤n;
- 对所有 1≤j<k,都有 ∣hij−hij+1∣≥d。
请输出最大长度以及任意一个达到最大长度的序列。
输入格式
第一行两个整数 n,d。
第二行 n 个整数 h1,h2,…,hn。
输出格式
第一行输出一个整数 k,表示最长跳跃序列的长度。
第二行输出 k 个整数 i1,i2,…,ik,表示该序列中的柱子编号。
如果存在多个最优序列,输出任意一个即可。
样例
5 2
1 3 6 7 4
4
1 2 3 5
10 3
2 1 3 6 9 11 7 3 20 18
6
1 4 6 7 8 9
说明
第一个样例中,可以选择柱子 1,2,3,5,高度分别为 1,3,6,4。另一个长度为 4 的合法序列是 1,2,4,5。
数据范围
1≤n≤105,0≤d≤109,1≤hi≤1015。