这么多人说第二道题,我贴一下我的代码,写的不好,多多指教 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);