#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int n,k;
    cin>>n>>k;
    long count=n*k;
    int a[count];
    for(int i=0; i<n; i++)
    {
        cin>>a[i];
    }
    for(int i=1; i<=k; i++)
    {
        for(int j=0; j<n; j++)
            a[n*i+j]=a[j];
    }
    for(int i=0; i<12; i++)
        cout<<a[i]<<"   ";
    cout<<endl;
    vector<int> nums(a, a + count);
    vector<int> maxLen(nums.size());  //记录长度
    maxLen[0] = 1;

    for (int i = 1; i < nums.size(); ++i)
    {
        int maxL = 0, maxI = -1;
        for (int k = i - 1; k >= 0; --k)
        {
            if (nums[k] > nums[i])
                continue;
            if (maxLen[k] > maxL)
            {
                maxL = maxLen[k];
                maxI = k;
            }
        }
        maxLen[i] = maxL + 1;
    }
    int maxL = maxLen[0];
    for (int i = 1; i < nums.size(); ++i)  //找出长度最长的不下降子序列,即maxLen[i]最大的情况
    {
        if (maxLen[i] > maxL)
            maxL = maxLen[i];
    }
    cout << maxL << endl;
}

显示越界20%       有大佬知道怎么改吗?