class Solution {
public:
int hangfind(int target,vector<int>array){
int l = 0;
int r = array.size() - 1;
while(l <= r){
int m = (l + r) / 2;
if(array[m] == target){
return m;
}
else if(array[m] > target)
r = m - 1;
else
l = m + 1;
}
return -1;
}
bool Find(int target, vector<vector<int> > array) {
if(!array.size())
return false;
int k = array.size();
int i = 0;
while(i <= k - 1){
if(hangfind(target, array[i]) != -1)
return true;
++i;
}
return false;
}
};
public:
int hangfind(int target,vector<int>array){
int l = 0;
int r = array.size() - 1;
while(l <= r){
int m = (l + r) / 2;
if(array[m] == target){
return m;
}
else if(array[m] > target)
r = m - 1;
else
l = m + 1;
}
return -1;
}
bool Find(int target, vector<vector<int> > array) {
if(!array.size())
return false;
int k = array.size();
int i = 0;
while(i <= k - 1){
if(hangfind(target, array[i]) != -1)
return true;
++i;
}
return false;
}
};