Двоичный_поиск & upper_bound

Я хочу преобразовать все единицы в следующем логическом массиве в нули, используя binary_search и upper_bound. Но это не работает. Может кто-нибудь помочь мне с этим??

Вот мой код:

#include<bits/stdc++.h>
#define ll long long
using namespace std;

int main(){ 
    vector<ll> hv;
    for(ll i=0;i<10;i++)
        hv.push_back(i%2);
    while(binary_search(hv.begin(),hv.end(),1)){
        vector<ll>::iterator it = upper_bound(hv.begin(),hv.end(),0);
        ll ind = it - hv.begin();
        hv[ind] = 0;
        cout<<endl;
    }
    return 0;
}

0 ответов

Другие вопросы по тегам