关注
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
相关推荐
牛客热帖
正在热议
# 拼多多求职进展汇总 #
229859次浏览 2025人参与
# 哪些公司校招卡第一学历 #
32253次浏览 100人参与
# 北方华创开奖 #
65482次浏览 545人参与
# 25届秋招总结 #
390183次浏览 3895人参与
# ai智能作图 #
18222次浏览 235人参与
# 地方国企笔面经互助 #
6356次浏览 15人参与
# 阿里云管培生offer #
56917次浏览 1734人参与
# 硬件兄弟们 甩出你的华为奖状 #
77509次浏览 624人参与
# 实习,投递多份简历没人回复怎么办 #
2433278次浏览 34687人参与
# 在职场上,你最讨厌什么样的同事 #
5477次浏览 78人参与
# 实习与准备秋招该如何平衡 #
721702次浏览 8542人参与
# 我的实习求职记录 #
6114959次浏览 83913人参与
# 工作中,你有没有遇到非常爱骂人的领导? #
4591次浏览 46人参与
# 如果再来一次,你还会选择这个工作吗? #
107506次浏览 1081人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
9572次浏览 200人参与
# 腾讯求职进展汇总 #
206913次浏览 1693人参与
# 实习想申请秋招offer,能不能argue薪资 #
35598次浏览 308人参与
# 牛客租房专区 #
4336次浏览 119人参与
# 中兴求职进展汇总 #
467559次浏览 2437人参与
# 华为工作体验 #
109873次浏览 855人参与
# 如果有时光机,你最想去到哪个年纪? #
27381次浏览 569人参与
# 实习中的菜狗时刻 #
280438次浏览 2761人参与