CodeForces-1486C-Guessing the Greatest
题目大意
交互题,每次可以询问一个区间[l,r]中第二大的数字的下标。最多问20次,最后输出最大的数的下标。
思路
设最大数为max,次大数为smax,最大数的下标为max_i,次大数的下标为smax_i,最后的答案为ans
分两类情况:1)max在smax左边;2)max在smax右边
1)max在smax左边:
需要找到最大的下标m,使得[m,smax_i]的次大数为smax.那么就设定l=1,r=max(smax_i-1,1),进行二分,mid=(l+r)/2, 如果[mid,smax_i]的次大数
原创
2021-02-19 15:46:40 ·
208 阅读 ·
0 评论