第 30 题
#include<bits/stdc++.h>
using namespace std;
int s[100001],a[100001],n,ans1, ans2;
int main()
{
while (scanf ("%d", &a[++n])!=EOF) ;
n--;
for(int i=n; i>=1; i--) {
s[i]=1;
for (int j=i+1; j<=n; j++) {
if(a[j]<=a[i]) {
s[i] =max(s[i],s[j]+1);
}
}
ans1 =max (ans1,s[i]);
}
for(int i=1; i<=n; i++) {
s[i] =1;
for(int j=1; j<=i; j++) {
if(a[j]<a[i]) {
s[i]=max(s[ i],s[j]+1);
}
}
ans2 =max (ans2,s[i]) ;
}
printf ("%d%d", ans1,ans2) ;
return 0;
}
判断题
第 30 题 若输入的序列是一个单调递增序列,则ans1的值为1。( )
第 31 题 若输入的序列是一个单调递减序列,则ans2的值为1。( )
第 32 题 对输入序列数据处理中,ans1的值越大,ans2的值将会越小。( )
第 33 题 输入的数值不能为负数。( )
第 34 题 若输入389 207 155 300 299 170 158 65,输出第一个数为( )。
第 35 题 若输入0 -1 0 -1,则输出( )。