func_code_string: #include <bits/stdc++.h>   using namespace std;   int lis(vector<int>& a) {     if (a.empty()) return 0;     int n = a.size();     int INF = 1000;     vector<int> b(n + 1, INF);     b[0] = -INF;     for (int i = 0; i < n; ++i) {       int val = a[i];       int pos = upper_bound(b.begin(), b.end(), val) - b.begin();       b[pos] = min(b[pos], val);     }     int res = 0;     for (int j = n; j >= 0; --j)       if (b[j] != INF) {         res = j;         break;       }     return res;   }   int brute(int n, int t, vector<int> a) {     for (int i = 0; i < t - 1; ++i)       for (int j = 0; j < n; ++j) a.push_back(a[j]);     int res = lis(a);     return res;   }   int main() {     ios_base::sync_with_stdio(false);     int n, t;     cin >> n >> t;     vector<int> a(n);     for (int i = 0; i < n; ++i) cin >> a[i];     int t0 = 100;     int t1 = 101;     int res = -1;     if (t <= t0) {       res = brute(n, t, a);     } else {       int res0 = brute(n, t0, a);       int res1 = brute(n, t1, a);       res = res1 + (t - t1) * (res1 - res0);     }     cout << res << endl;     return 0;   }   