Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<algorithm>
- using namespace std;
- int main()
- {
- int n;
- scanf("%d",&n);
- int lis[n+1];for(int i = 1 ; i <= n ; i ++)lis[i] = 1e9;
- lis[0] = 0;
- int len = 0;
- for(int i = 0 ; i < n ; i ++){
- int x;
- scanf("%d",&x);
- int l = 0 , r = len;
- int idx = 0;
- while(l <= r){
- int m = (l+r)/2;
- if(lis[m] <= x){
- idx = m;
- l = m + 1;
- }
- else{
- r = m - 1;
- }
- }
- lis[idx+1] = min(x,lis[idx+1]);
- len = max(len,idx+1);
- }
- printf("%d",n-len);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement