#include <stdio.h>
template< typename T>
void unique(T* arr, std::size_t& count)
{
int cnt=0;
int index=0;
int temp;
while(cnt<count)
{
temp = arr[cnt];
arr[index++] = temp;
cnt = binarysearch(arr, cnt, count, temp)+1;
}
count = index;
return;
}
/*binarysearch 는
arr 1,1,2,2,3,3,4,4,5,5 에서
binarysearch(arr, 0, 10, 1) 하면 1가 return
binarysearch(arr, 2, 10, 2) 하면 3가 return
binarysearch(arr, 4, 10, 3) 하면 5가 return
binarysearch(arr, 6, 10, 4) 하면 7가 return
binarysearch(arr, 8, 10, 5) 하면 9가 return
되게 짜면됨


중복되는경우가 많을떄 이게 더 효율적이고
중복되는 경우가 적다고하면 그냥 인덱스 두개로 놀면 O(n) 걸려서 될듯 
아님?