为啥只有20分啊,求助
查看原帖
为啥只有20分啊,求助
791994
liyanchenlycccccc楼主2023/8/5 18:42
#include <bits/stdc++.h>
using namespace std;
int n,a[260],dp[110],o[110],s[550],ans=0;
int main()
{
  scanf("%d",&n);
  for(int i=1; i<=n; i++)
  {
    scanf("%d",&a[i]);
    dp[i]=1;
    o[i]=1;
  }
  for(int i=n; i>=1; i--)
  {
    for(int j=i+1; j<=n; j++)
    {
      if(a[i]>a[j]&&dp[i]<=dp[j]+1)
      {
        dp[i]=dp[j]+1;
      }
    }
  }
  for(int i=1; i<=n; i++)
  {
    for(int j=1; j<i; j++)
    {
      if(a[i]>a[j]&&o[i]<=o[j]+1)
      {
        o[i]=o[j]+1;
      }
    }
  }
  for(int i=1; i<=n; i++)
  {
    s[i]=dp[i]+o[i];
    s[i]-=1;
    ans=s[i];
  }
  printf("%d",n-ans);
  return 0;
}
2023/8/5 18:42
加载中...