因为今天被lower_bound坑了,找了一年bug,发现他的一个性质
a[1]=3;
a[2]=5;
a[3]=100;
int x=*lower_bound(a+1,a+1+2,6);
a[3]=0;
cout<<x<<endl;
x=*lower_bound(a+1,a+1+2,6);
cout<<x<<endl;
发现第一个\(x\)为\(1000\),第二个\(x\)为\(0\)
也就是说如果\(a[n]< x\) 那么就会返回\(a[n+1]\)的值
我还一直以为就直接返回\(a[n]\)呢
又水了一篇博客(不是