球球大佬 看看为啥答案错误 public class Main { static long[] nums; static long res = 0; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); long n = scanner.nextLong(); long k = scanner.nextLong(); nums = new long[(int) n]; for (int i = 0; i < n; i++) { nums[i] = scanner.nextLong(); } Arrays.sort(nums); backtrack(nums.length, 0, 0, 0, 0, k); System.out.println(res); } private static void backtrack(long n, int cur, long sum, long total, long maxWeight, long k) { if (total != 0) { if (maxWeight * total<= sum * k) { res = Math.max(res, total); } else { return; } } if (cur == n) { return; } backtrack(n, cur + 1, sum + nums[cur], total + 1, Math.max(maxWeight, nums[cur]), k); backtrack(n, cur + 1, sum, total, maxWeight, k); } }
点赞 评论

相关推荐

_mos_:要不是看评论区我都不知道你要找的是数分
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务