本来以为是求LIS,结果发现这样的话就变成随便插入了。。。
不过通过这个可以推出正确的思路,就是LIS中还要满足相邻两项(ai)+1==(ai+1)
#include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<cmath> using namespace std; int s[51000]; int main() { int n,x,mx=0; scanf("%d",&n); memset(s,0,sizeof(s)); for(int i=1;i<=n;i++) { scanf("%d",&x); s[x]=s[x-1]+1; mx=max(mx,s[x]); } printf("%d ",n-mx); return 0; }