The function returns an iterator for the least number that is bigger or equals to the target number.
#include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> using namespace std; int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ int N; vector<int> v; cin >> N; for(int i = 0; i < N; i++) { int t; cin >> t; v.push_back(t); } int Q; cin >> Q; for(int i = 0; i < Q; i++) { int q; cin >> q; vector<int>::iterator r = lower_bound(v.begin(), v.end(), q); if(v.at(r - v.begin()) == q) cout << "Yes "; else cout << "No "; cout << r - v.begin() + 1 << endl; } return 0; }