Cod sursa(job #1382519)

Utilizator alinalinaMertoiu Alina alinalina Data 9 martie 2015 10:26:56
Problema Cautare binara Scor 0
Compilator java Status done
Runda Arhiva educationala Marime 1.02 kb
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;


public class BinarySearch {

	public static int binSearch(int[] v,int x, int start, int end){
		if(start > end)
			return -1;
		if(start == end) {
			if(v[start] == x)
			return start;
			else
				return -1;
			
		}
		
		int mid = start + (end-start)/2;
		int left = -1;
		int right = -1;
		if(v[mid] >= x)
			left = binSearch(v, x, start, mid);
		else 
		right =  binSearch(v, x, mid+1, end);
		
		if( left != -1)
			return left;
		else return right;
	}
	
	public static void main(String[] args) throws FileNotFoundException {
		Scanner input = new Scanner("cautbin.in");
		int n = input.nextInt();
		int[] v = new int[n];
		for (int i = 0; i < n; i++) {
			v[i] = input.nextInt();
		}
		
		PrintWriter output = new PrintWriter("cautbin.out");
		int m = input.nextInt();
		for (int i = 0; i < m; i++) {
			output.write(binSearch(v, input.nextInt(), 0, n));
		}
		
		output.close();
		input.close();
	}
}