import java.util.Scanner; public class Main { public static long myCore(long maxNLeft, long a){ long curSum = maxNLeft * (maxNLeft + 1) / 2; long leftResult = maxNLeft; // System.out.println("curSum:" + curSum); if(curSum == a){ return maxNLeft; } else if(curSum > a){ if((curSum - a) % 2 == 0){ leftResult += 0; } else{ leftResult += 2; } } else{ leftResult += (a - curSum) * 2; } return leftResult; } public static long myProcess(long a){ a = Math.abs(a); if(a == 0) return 0; long maxNLeft = (long) ((-1 + Math.sqrt(1 + 8 * a)) / 2.0); long maxNRight = maxNLeft + 1; long maxNLeft0 = maxNLeft - 1; long maxNRight0 = maxNLeft + 2; long leftResult = myCore(maxNLeft, a); long rightResult = myCore(maxNRight, a); long leftResult0 = myCore(maxNLeft0, a); long rightResult0 = myCore(maxNRight0, a); return Math.min(Math.min(leftResult, rightResult), Math.min(leftResult0, rightResult0)); } public static void main(String args[]) { Scanner cin = new Scanner(System.in); long a; while (cin.hasNextLong()) { a = cin.nextLong(); System.out.println(myProcess(a)); } } }
点赞 评论

相关推荐

从24年初开学开始接触到前端,和实验室几个同学一起学习,可似乎我总比他们慢一步,每每学完一个地方,我掌握的程度好像都不比他们,第一次实验室的任务实战,我两眼一抹黑,完全不知道从何下手,而他们却是游刃有余,可我当时没有丧气,只有一个念头,既然学习能力不如他们,那我就拿更多的时间去学,于是我把打游戏,运动锻炼的时间也拿来学习。到了暑假,实验室一起做项目,为了可以更好的参与进去,于是我暑假开始留校和同学师哥一起做项目,每天早上九点多去实验室,晚上十点多回宿舍,校田径队的训练没有去,中间也只回家待了一周。到暑假结束开学之后,一位很优秀的师哥拿到了几个offer,我从他身上看到了希望,双非本科就业的希望...
offer求求哩:我的评价是认知低,建议多看书,认知低的一个表现是人生仿佛没考上大学就是进厂,考上了就是考研考公找工作。股市里有一个很有意思的故事,说的是当门口大妈都在谈论股票的时候,说明行情已经见顶了。当你的父母在某些事上没有成功却支持你说明事情可能已经不可靠了,但在某些事上反对你,说明这件事可能还有成功的可能。(仅个人观点)😆😆
点赞 评论 收藏
分享
点赞 评论 收藏
分享
01-20 10:59
中北大学 运营
点赞 评论 收藏
分享
牛客网
牛客企业服务