题目 |
题目传送门:传送门(点击此处)
题解 |
思路
算出每个人结束比赛的用时,再比较谁的用时最少,题目简单
知道赛道长度 m
,滑雪速度 a
,每滑 e[i][0]
秒休息 e[i][1]
秒,问这个人多长时间滑完
每个人都这样挨个求一边,就有答案了
code
package solution96;
class Solution{
public int solution(int n,int m, int a, int[][] e) {
int min = Integer.MAX_VALUE;
for (int i = 0; i < n; i++) {
int sec = 0;
int cycle = m / (e[i][0] * a); // 周期数
int cycleSec = e[i][0] + e[i][1]; // 每周期的时间
int M = e[i][0] * cycle * a; // 已经走了的米数
if (M == m) {
sec = cycle * cycleSec - e[i][1];
} else {
sec = cycle * cycleSec + (m - M) / a;
}
min = Math.min(sec, min);
}
return min;
}
}