200271 - 全面分析善于归纳
在分析题目过程中把各种可能考虑全面是完美解决问题的关键,这往往不能仅靠思考,需要动手列出各种可能性,然后分析归纳出一般情况和特殊情况,这是找到问题解法、找到更好的解法的必由之路,对于新的问题尤为如此。
当编写代码的过程中定义一个变量时类型要按题目要求、数组大小要按数据规模,以及你的算法中的加减乘除是否会导致数据超出范围或数组越界;一边写一边添加函数注释、行内注释是保障代码和思路一致性、把完美的思路的用完美的代码表达的最好办法,编码越认真BUG越少越容易调试。
编写完代码之后,都要回头用分析过程中罗列的各种情况的正确结果来验证编码的正确性,这是完美解决问题的唯一保障,测试越充分每一分钟你能得到的分越多。
样例不是用来检测你的代码是否完美解决问题的,是用来理解题意的,想要代码完美拿满分自己分析过程得到的正确结果是唯一的依靠
仔细分析下面问题,按n从小到大、k从小到大的顺序,按照一定规律绘制每种情况,看看自己绘制到n为多少时找到了问题的规律。找到规律之后,按照规律分析n+1的时候是否符合?如果符合,检查3\le n 时是否符合?如果符合检查0\le n \le 2是否符合?
神犇虽然编程很厉害,但有亿点恐高。所以在过山车上只有前面或后面的人才能在这个恐怖的旅程中给神犇带来一丝慰藉。
现在神犇需要计算总共有n个座位的过山车已经做了k个人的前提下,至少有多少个位置前面或后面有人、至多有多少个位置前面或后面有人。
注意:题目正在疯狂的暗示每一排只有一个座位。并且没有人会在第一个座位之前,也没有人会在最后一个位置之后!
Input
一行,有单个空格分隔的两个整数n,k,分别表示座位数和已经坐上去的人数。
对于100%的数据:
0\le k \le n \le 10^9 。
Output
一行,一个整数
Examples
Input
6 3
Output
1 3
Input
6 2
Output
1 4