面试遇到的代码题,没想出好的解法,求解答
小明的玩具
小明有N个玩具,编号从1-N,每个玩具有两个特性:
E_i:表示小明可以玩玩具i不感到无聊多少分钟
R_i:表示小明玩完玩具i后忘记它所需要的分钟
玩具按照顺时针方向从1-N排列成一个圆圈,小明一个接一个地和他们玩。
当小明拿到他没有见过的玩具i,或者他已经忘记的玩具i时,小明会和玩具玩E_i分钟,然后立即移动到下一个(顺时针方向)
如果他遇到一个他还没有忘记的玩具,就会停止。
我们可以把小明玩的时间定义为小明在停下来之前,玩的玩具的时间总和。如果一个玩具玩了好几次,应该计算多次时间。
根据对玩具的描述,移除尽可能少的玩具以便让小明无限期的玩一段时间(如果可能的话)或在他停下来之前尽可能长地玩一段时间。
输入:第一个整数N表示有多少个玩具,接下来N行,每行第一个数字表示玩具的E_i,第二个数字表示玩具的R_i
输出:
第一个数字表示需要删除的玩具的数量,第二个数字表示玩的时间(如果是无限期的玩返回-1)
注意:
1.小明以前从未玩过这些玩具。
2.他不能没有玩具。
3.他总是从编号最小的玩具开始玩
4.玩完编号最大的玩具后,他会移到编号最小的玩具。
示例1:
输入:
1
5,10
输出:
0,5
示例2:
输入:
2
5,10
10,3
输出:
0,-1
输入:
3
30,17
5,10
10,3
输出:
1,-1
#算法题目求助##学习路径#