template <typename T>
int binSearch(T array[],int len,T target)
{
int ret=-1;
int begin=0;
int end=len-1;
while(begin<=end)
{
int mid=begin+((end-begin)>>1);
if(array[mid]>target)
{
end=mid-1;
}
else if(array[mid]<target)
{
begin=mid+1;
}
else
{
if(mid==0||array[mid-1]<target)
{
ret=mid;
break;
}
else
{
end=mid-1;
}
}
}
return ret;
}