Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
141519 冼俊烨 合唱团 C++ 通过 100 0 MS 252 KB 590 2024-04-05 16:50:39

Tests(10/10):


//合唱团 //正反LIS后寻找最值 #include<bits/stdc++.h> using namespace std; int T[201]; int f[201],g[201]; int main() { int n; scanf("%d",&n); for(int i=1; i<=n; i++) scanf("%d",&T[i]); for(int i=1; i<=n; i++) { f[i]=1; for(int j=1; j<=i-1; j++) if(T[j]<T[i]&&f[j]+1>f[i]) f[i]=f[j]+1; } for(int i=n; i>=1; i--) { g[i]=1; for(int j=i+1; j<=n; j++) if(T[j]<T[i]&&g[j]+1>g[i]) g[i]=g[j]+1; } int Min=n; for(int k=1; k<=n; k++) Min=min(n-f[k]-g[k]+1,Min); printf("%d\n",Min); }


测评信息: