Advertisement
SuitNdtie

Orchid

Jun 1st, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.51 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<algorithm>
  3. using namespace std;
  4. int main()
  5. {
  6.     int n;
  7.     scanf("%d",&n);
  8.     int lis[n+1];for(int i = 1 ; i <= n ; i ++)lis[i] = 1e9;
  9.     lis[0] = 0;
  10.     int len = 0;
  11.     for(int i = 0 ; i < n ; i ++){
  12.         int x;
  13.         scanf("%d",&x);
  14.         int l = 0 , r = len;
  15.         int idx = 0;
  16.         while(l <= r){
  17.             int m = (l+r)/2;
  18.             if(lis[m] <= x){
  19.                 idx = m;
  20.                 l = m + 1;
  21.             }
  22.             else{
  23.                 r = m - 1;
  24.             }
  25.         }
  26.         lis[idx+1] = min(x,lis[idx+1]);
  27.         len = max(len,idx+1);
  28.     }
  29.     printf("%d",n-len);
  30.     return 0;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement