fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Main
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. // your code goes here
  13. Scanner sc = new Scanner(System.in);
  14. int n = sc.nextInt();
  15. int[] arr = new int[n];
  16. for(int i=0;i<n;i++){
  17. arr[i] = sc.nextInt();
  18. }
  19.  
  20. int tg = sc.nextInt();
  21.  
  22. int l = 0;
  23. int r = n-1;
  24. boolean flag = false;
  25. while(l<=r){
  26. int m = l + (r-l)/2;
  27. if(arr[m] == tg){
  28. flag = true;
  29. System.out.println(m);
  30. break;
  31. }
  32. if(arr[l]<arr[m]){
  33. if(arr[l]<=tg && tg <= arr[m]){
  34. r = m;
  35. }
  36. else{
  37. l=m+1;
  38. }
  39. }
  40. else{
  41. if(arr[m]<=tg && tg <= arr[r]){
  42. l=m;
  43. }
  44. else{
  45. r = m - 1;
  46. }
  47. }
  48. }
  49. if(!flag){
  50. System.out.println(-1);
  51. }
  52.  
  53. }
  54. }
Success #stdin #stdout 0.13s 54584KB
stdin
7
4 5 6 7 0 1 2
3
stdout
-1