关注
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
相关推荐
牛客热帖
更多
正在热议
更多
# 从投递到OC,你用了多久 #
5153次浏览 47人参与
# 总结:哪家公司最喜欢泡池子 #
169814次浏览 607人参与
# 厦门银行科技岗值不值得投 #
19385次浏览 427人参与
# 我的求职进度条 #
995022次浏览 6583人参与
# 哪些公司面试还在问八股? #
1309次浏览 28人参与
# 哪一刻你突然觉得实习“有点值了” #
3702次浏览 47人参与
# HR面都在聊什么? #
1418次浏览 27人参与
# 实习教会我的事 #
73995次浏览 511人参与
# 一人一道大厂面试题 #
129920次浏览 1322人参与
# 生物制药/化工校招攻略 #
85846次浏览 347人参与
# 实习生如何通过转正 #
136254次浏览 1488人参与
# 哪些公司一直卡在简历筛选 #
108522次浏览 375人参与
# 大厂无回复,继续等待还是奔赴小厂 #
350741次浏览 2010人参与
# 实习生活中那些难忘的瞬间 #
333486次浏览 3399人参与
# 现在还是0offer,延毕还是备考 #
1365196次浏览 7953人参与
# 我想象的实习vs现实的实习 #
333285次浏览 2298人参与
# 有深度的简历长什么样? #
54291次浏览 732人参与
# 反问环节如何提问 #
138726次浏览 2734人参与
# 夸夸我的求职搭子 #
262041次浏览 1983人参与
# 入职第一天,你准备什么时候下班 #
118652次浏览 519人参与
# 拿到offer之后,可以做些什么 #
106047次浏览 514人参与
查看7道真题和解析