测试点2 Accepted / 11ms / 1884kB
测试点3 Accepted / 7ms / 1884kB
测试点4 Accepted / 7ms / 1884kB
测试点5 Accepted / 13ms / 1884kB
测试点6 Accepted / 7ms / 1884kB
测试点7 Accepted / 7ms / 1884kB
测试点8 Accepted / 7ms / 1884kB
测试点9 Accepted / 7ms / 1884kB
测试点10 Accepted / 7ms / 1884kB
#include<stdio.h>
#include<string.h>
int main()
{int n, a[200], b[200], c[200], i, j, max;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
memset(b, 0, sizeof(a));
memset(c, 0, sizeof(c));
for (i = 0; i <n; i++)
{b[i]=1;
for (j = 0; j <=i-1; j++)
{ if (a[j] < a[i] && b[j] + 1 > b[i])
b[i] = b[j] + 1;
} }
for(i=n;i>0;i--)
{c[i]=1;
for(j=i+1;j<n;j++)
{if(a[i]>a[j]&&c[j]+1>c[i])
c[i]=c[j]+1;}}
max = b[1] + c[1];
for (i = 2; i <= n; i++)
{ if (b[i] + c[i] > max) max = b[i] + c[i]; }
printf("%d\n", n - max + 1);
return 0; }