【每日一题】8月5日—做题

做题

https://ac.nowcoder.com/acm/contest/6896/A

链接:https://ac.nowcoder.com/acm/contest/6896/A
来源:牛客网

题目描述:
有 n 个题目,m 分钟,做完每个题目所花费的时间是不一样的,求牛可乐最多可以做出多少个题目。

输入描述:
第一行是空格分隔的两个整数 n,m,表示有 n 个题目和 m 分钟。
第二行有 n 个非负整数 a1,a2,a3,...,an. ai表示牛可乐 做出第 i 个题目所需要的时间

输出描述:
输出一行一个整数表示牛可乐能做出的最多的题目数量。

将输入的n个排序,每次输入用m去减,小于0就退出循环。
注意:m的大小会超过int最大值,用BigInteger。(自己踩得坑。。找了半天错误)

import java.util.*;
import java.math.*;
public class Main{
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        BigInteger m=in.nextBigInteger();
        int[] arr=new int[n];
        int i=0;
        while(i<n){
            arr[i++]=in.nextInt();
        }
        Arrays.sort(arr);
        int k=0;
        while(k<n){
            BigInteger a=BigInteger.valueOf(arr[k]);
             m=m.subtract(a);
             if(m.compareTo(BigInteger.ZERO)!=-1){
                 k++;
             }else{
                break; 
             }
        }
       System.out.println(k);
   }
}
全部评论

相关推荐

一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务