关注
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int count = 0;
ArrayList<Integer> list = new ArrayList<>();
// 将面值放入一个list里,数量大于1则重复,如[100, 50, 50, 10, 1]
for (int i = 0; i < n; i++) {
int key = sc.nextInt();
int value = sc.nextInt();
for (int j = 0; j < value; j++) {
list.add(key);
}
}
int str = 0, end = list.size() - 1;
// 两个指针 分别指向头部和尾部 [100, 50, 50, 10, 1]
for (int i = 0; i < end; i++) {
// 如果当前值大于工资则直接除
if (list.get(i) >= m) {
count += list.get(i) / m;
}// 如果当前值小于工资,如50 < 51,则从列表最后的
// 最小的那批面值开始相加,直到付得起工资为止。
else{
int sum = list.get(i);
while(sum < m && i < end){
sum += list.get(end);
end--;
}
if(sum >= m){
count++;
}
}
}
System.out.println(count);
}
} 求教大佬,我感觉我java的思路没问题,就是如果小于面值,就优先从小面额开始相加,但是只过了40%,😭
查看原帖
点赞 5
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 怎么给家人解释你的工作? #
10636次浏览 74人参与
# 应届生被毁约被毁意向了怎么办 #
45725次浏览 279人参与
# 快手技术岗信息交流阵地 #
2623次浏览 26人参与
# 你的mentor是什么样的人? #
15600次浏览 110人参与
# 牛客周边新品开箱 #
10128次浏览 90人参与
# 帮我看看,领导说这话什么意思? #
20251次浏览 98人参与
# 求职中的尴尬瞬间 #
3498次浏览 42人参与
# 牛友的志愿填报指南 #
34592次浏览 185人参与
# 国企还是互联网,你怎么选? #
169612次浏览 1271人参与
# 牛客树洞,我想对你说 #
8263次浏览 93人参与
# 机械人集合!你是什么工程师? #
19616次浏览 91人参与
# 如何KTV领导 #
72389次浏览 502人参与
# 大疆工作体验 #
18520次浏览 85人参与
# 今年形式下双非本找得到工作吗 #
237232次浏览 1433人参与
# 三一集团提前批进度交流 #
38145次浏览 225人参与
# 求职低谷期你是怎么度过的 #
12362次浏览 246人参与
# 26届秋招公司红黑榜 #
27640次浏览 113人参与
# 校招泡的最久的公司是哪家? #
12427次浏览 80人参与
# 从哪些方向判断这个offer值不值得去? #
16251次浏览 188人参与
# 得物app工作体验 #
28035次浏览 64人参与
# 大厂无回复,继续等待还是奔赴小厂 #
247679次浏览 1633人参与
查看17道真题和解析
