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; }
点赞 评论

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务