1025 最长非降子序列
#include<iostream>
#include<climits>
using namespace std;
int func(int arr[], int n)
{
int dp[n] = {1,};
for(int i=0;i<n;i++)
{
dp[i] = 1;
}
for (int i = 1; i < n; i++) {
for (int j = 0; j < i; j++)
if (arr[i] >= arr[j])
dp[i] = max(dp[i], dp[j] + 1);
}
int ans = INT_MIN;
for(int i=0;i<n;i++)
{
if(dp[i] > ans)
{
ans = dp[i];
}
}
return ans;
}
int main() {
// 测试次数
int n_test;
cin>>n_test;
for(int i=0;i<n_test;i++)
{
int num;
cin>>num;
int arr[num];
for(int j=0;j<num;j++)
{
cin>>arr[j];
}
cout<<func(arr, num)<<endl;
}
return 0;
}