51nod 1241 特殊的排序

来源:互联网 发布:京都和服租赁 知乎 编辑:程序博客网 时间:2024/05/23 19:18

dp求一下最长的等差数列,其余数字向前向后移动,就排好序了。

#include<bits/stdc++.h>using namespace std;const int MAXN=50050;int a[MAXN],dp[MAXN];int main(){int n,i,ans;while(~scanf("%d",&n)){for(i=1;i<=n;i++)scanf("%d",&a[i]);memset(dp,0,sizeof(dp));ans=0;for(i=1;i<=n;i++){dp[a[i]]=dp[a[i]-1]+1;ans=max(ans,dp[a[i]]);}printf("%d\n",n-ans);}}


0 0