import util.Random

val toFind = args(0).toInt

val r = new Random()

val a = (for (i<- 1 to 100) yield r.nextInt(100)).toList.sort(_<_).toArray

def binsearch(x:Int, a:Array[Int],first:Int, last:Int):Int = {

if (last-first<=1) {

if (a(first)==x) return first

else if (a(last)==x) return last

else return -1} else {

val mid = (last+first)/2

if (a(mid)>=x) return binsearch(x, a, first, mid)

else return binsearch(x, a, mid, last)

}

}

for (el<-0 to 99) println(el+":"+a(el))

val res = binsearch(toFind, a, 0,99)

println ("res="+res)