P1747 求解递增序列中与x最接近元素问题

128 阅读1分钟

image.png

image.png

思路

二分查找,如果没有找到相同的值,(反正最后left和right的值是一样的)就可以判断a[high]和a[high+1]两个数字谁离目标值近一些

部分代码

        int a1=a[high],a2=a[high+1];
        printf("%d\n",(a1+a2<2*s)?a2:a1);