这么多人说第二道题,我贴一下我的代码,写的不好,多多指教 Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int n = scanner.nextInt(); long nums[] = new long[n]; long ans = 0; long sum = 0; long counts[] = new long[n]; for (int i = 0; i < n; i++) { nums[i] = scanner.nextLong() - n; if (nums[i] >= 0) { counts[i] = nums[i] / n + 1; sum = sum + counts[i]; } } Arrays.sort(counts); Arrays.sort(nums); while (nums[n - 1] >= 0) { for (int i = 0; i < n; i++) { nums[i] = nums[i] - counts[i] * n + (sum - counts[i]); counts[i] = 0; } ans = ans+sum; Arrays.sort(nums); Arrays.sort(counts); sum = 0 ; for (int i = 0; i < n; i++) { if (nums[i] >=0) { counts[i] = nums[i] / n + 1; sum = sum + counts[i]; } } } System.out.println(ans);
点赞 评论

相关推荐

牛客网
牛客企业服务