3004: 【双指针】2024D-跳房子II

金币值:1 时间限制:2.000 s 内存限制:128 M
正确:187 提交:563 正确率:33.21% 命题人:

题目描述

跳房子,也叫跳飞机,是一种世界性的儿童游戏。 

游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格,然后获得一次选房子的机会,直到所有房子都被选完,房子最多的人获胜。 

跳房子的过程中,如果有踩线等违规行为会结束当前回合,甚至可能倒退几步。 

假设房子的总格数是count,小红每回合可能连续跳的步数都放在数据steps中,请问数组中是否有一种步数的组合,可以让小红三个回合跳到最后一格?

如果有,请输出索引和最小的步数组合,数据保证索引和最小的步数组合是唯一的。 

注意:数组中的步数可以重复,但数组中的元素不能重复使用。

输入格式

第一行输入为房子总格数count,它是整数类型int。 

第二行输入为每回合可能连续跳过的步数,它是整数数组类型。

  • count <= 10000;
  • 3 <= steps.length <= 10000;
  • -100000 <= steps[i] <= 100000;


输出格式

返回索引和最小满足要求的步数组合。 

注意:顺序保持steps中的原有顺序。

输入样例    复制

1,5,2,0,2,4
9

输出样例    复制

5,2,2