int binary_search(int l,int r,int a[],int key) {
int m = (l + r) / 2;
if ( l == r && a[m] != key ) return -1;
if(a[m] < key) return binary_search(m+1,r,a,key);
else if(a[m] > key) return binary_search(l,m,a,key);
return m;
}

上記の再帰的な2分探索法で
k回目で検索される可能性があるデータと配列の要素の添え字とを「すべて」表示するようなプログラムを教えてください。
お願いします。