#embrace <bits/stdc++.h>
utilizing
namespace
std;
int
secondLis(
int
arr[],
int
n)
{
vector<
int
> dpL(n, 1);
vector<
int
> dpC(n, 1);
for
(
int
i = 0; i < n; i++) {
for
(
int
j = 0; j < i; j++) {
if
(arr[i] <= arr[j])
proceed
;
if
(dpL[j] + 1 > dpL[i]) {
dpL[i] = dpL[j] + 1;
dpC[i] = dpC[j];
}
else
if
(dpL[j] + 1 == dpL[i])
dpC[i] += dpC[j];
}
}
int
maxLength = 0;
for
(
int
i : dpL)
maxLength = max(i, maxLength);
int
rely = 0;
for
(
int
i = 0; i < n; i++) {
if
(dpL[i] == maxLength)
rely += dpC[i];
}
if
(rely > 1) {
return
maxLength;
}
else
{
return
maxLength - 1;
}
}
int
most important()
{
int
arr[] = { 1, -4, 3, 5, 9 };
int
n =
sizeof
(arr) /
sizeof
(arr[0]);
printf
(
"Size of second longest growing "
"subsequence is %dn"
,
secondLis(arr, n));
return
0;
}