#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> ii;
int main()
{
ll n;
cin >> n;
vector <ll> a(n);
vector <ll> b(n);
for (ll i=0;i<n;i++)
{
cin >> a[i];
b[i]=a[i];
}
sort(b.begin(),b.end(),greater<ll>());
if (binary_search(b.begin(),b.end(),3)) cout <<"YES";
else cout <<"NO";
// auto it=lower_bound(b.begin(),b.end(),3);
// cout <<*it;
// for (ll i=0;i<n;i++) cout << b[i] <<" ";
// for (ll i=0;i<n;i++)
// {
// auto it=lower_bound(b.begin(),b.end(),a[i]);
//// ll chiso=it-b.begin();
//// swap(a[i],a[chiso]);
// cout << *it <<" ";
//// if (chiso!=i) cout << i <<" " <<chiso << endl;
// }
}
Đây là code của em, em muốn hỏi là tại sao hàm binary_search của em không hđ trên mảng b nhỉ? Em nhập
INP:
4
3 4 1 2
rõ ràng mảng b có số 3 mà nó không cout ra YES mà lại ra No, tương tự với hàm lower_bound trong phần em khóa lại cũng không hđ :< Mng giúp em với ạ