原题:
题目大意: 知道总共可以选的数,和misha选的数,求andrew选一个能让尽可能多的数到andrew的距离比misha更近。
我们再数轴上来看:
显然,如果m到n的长度比1到m大很多,andrew选择m+1至少右边所有的他都能比misha近。 同理,,如果左边比右边长,那么就选m-1这个点。 如果左边和右边相等,题目要求说If there are multiple such values, print the minimum of them.要求我们打印小的,也就是m-1。
特别的,当n=1的时候,只能选择数1,所以输出1。
代码如下:
;int main(){int n,m;while(scanf(“%d%d”,&n,&m)!=EOF){if(n==1)printf(“1\n”);else if(n-m>m-1)printf(“%d\n”,m+1);elseprintf(“%d\n”,m-1);}return 0;}
而消极的人则在每个机会都看到某种忧患。