【每日一题】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);
   }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 13:46
点赞 评论 收藏
分享
05-21 15:47
门头沟学院 Java
浪漫主义的虹夏:项目有亮点吗,第一个不是纯玩具项目吗,项目亮点里类似ThreadLocal,Redis储存说难听点是花几十分钟绝大部分人都能学会,第二个轮子项目也没体现出设计和技术,想实习先沉淀,好高骛远的自嗨只会害了自己
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务