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

相关推荐

用微笑面对困难:只要你保证项目和获奖都是真的就行尤其是“对战,总负责人”啊这些套职,基本上队员,打杂的都这么写
点赞 评论 收藏
分享
09-19 14:12
武汉大学 golang
并没有发笔试,只是顺延了两次,去看官网发现流程结束了
无敌忍耐王:三个工作日没人捞就自动结束了
投递美团等公司10个岗位
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务