public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] nums = new int[n]; for (int i = 0; i < nums.length; i++) { nums[i] = in.nextInt(); } System.out.println(getPosibility(nums)); } static int getPosibility(int[] nums) { // 排序 Arrays.sort(nums); // 累积最高可能值 int[] cache = new int[nums.length]; cache[0] = nums[0]; for (int i = 1; i < nums.length; i++) { cache[i] = nums[i] + cache[i - 1]; } // 计算累计最高可能值是否大于后一个值 for (int i = nums.length - 2; i >= 0; i--) { if(nums[i] == nums[i + 1]) { continue; } // 累积最高值也无法大于后一个值就退出 if(cache[i] < nums[i + 1]) { return nums.length - i - 1; } } return nums.length; }
点赞 评论

相关推荐

05-24 14:12
门头沟学院 Java
点赞 评论 收藏
分享
买蜜雪也用卷:我觉得应该没有哪个人敢说自己熟练使用git,代码分支一复杂还是得慢慢寻思一下的,不过基本的拉代码提交代码还有分支什么的是应该会
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务