fork(1) download
  1. import java.util.*;
  2.  
  3. class Ideone{
  4.  
  5. public static int arr[];
  6.  
  7. static int bs(int left, int right, int target){
  8. if(left>=right){
  9. return right;
  10. }
  11. int mid=(left+right)/2;
  12.  
  13. if(arr[mid]>target){
  14. return bs(left,mid,target);
  15. }
  16. else{
  17. return bs(mid+1,right,target);
  18. }
  19. }
  20.  
  21. public static void main(String args[]){
  22.  
  23. int idx_1=0,idx_2=0;
  24. int num;
  25.  
  26. Scanner sc=new Scanner(System.in);
  27. int n=sc.nextInt();
  28. arr=new int[n+1];
  29. Arrays.fill(arr,0);
  30. for(int i=0; i<n; i++){
  31. num=sc.nextInt();
  32. idx_1=bs(idx_1,idx_2,num);
  33. arr[idx_1]=num;
  34. if(idx_1==idx_2){
  35. idx_2=idx_1+1;
  36. }
  37. }
  38. System.out.println(idx_2);
  39. }
  40.  
  41. }
Success #stdin #stdout 0.1s 35440KB
stdin
6
10 10 10 10 10 10
stdout
6