关注
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
相关推荐
牛客热帖
更多
正在热议
更多
# 春招什么时候投? #
7491次浏览 116人参与
# 牛友的春节生活 #
4195次浏览 112人参与
# 春节前,你还在投简历吗? #
10377次浏览 133人参与
# 从夯到拉,锐评职场mentor #
2965次浏览 55人参与
# 牛客AI体验站 #
14090次浏览 262人参与
# 实习到现在,你最困惑的一个问题 #
3093次浏览 95人参与
# 春节提前走,你用什么理由请假? #
6794次浏览 168人参与
# 备战春招/暑实,现在应该做什么? #
2878次浏览 99人参与
# 距离春招还有一个月,你现在是什么开局? #
4545次浏览 94人参与
# 聊聊Agent开发 #
19844次浏览 523人参与
# 暑期实习什么时候投? #
5213次浏览 129人参与
# 推荐一个值得做的AI项目 #
5454次浏览 154人参与
# 听劝,这个简历怎么改 #
380694次浏览 1826人参与
# 机械人的秋招小目标 #
28379次浏览 239人参与
# 我的AI电子员工 #
27683次浏览 186人参与
# 腾讯工作体验 #
568364次浏览 3713人参与
# 参加完秋招的机械人,还参加春招吗? #
108323次浏览 704人参与
# 实习的内耗时刻 #
221560次浏览 1643人参与
# 互联网公司评价 #
488579次浏览 4119人参与
# bilibili求职进展汇总 #
180923次浏览 1074人参与


网易游戏公司福利 632人发布