Jak przerobić program aby wyświetlał wartości podciągu a nie tylko wyświetlał ile ich jest:
#include <bits/stdc++.h>
using namespace std;
int lds(int arr[], int n)
{
int lds[n];
int i, j, max = 0;
for (i = 0; i < n; i++)
lds[i] = 1;
for (i = 1; i < n; i++)
for (j = 0; j < i; j++)
if (arr[i] < arr[j] && lds[i] < lds[j] + 1)
lds[i] = lds[j] + 1;
for (i = 0; i < n; i++)
if (max < lds[i])
max = lds[i];
return max;
}
int main()
{
int arr[] = { 15, 27, 14, 38, 63, 55, 46, 65, 85, 94};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Length of LDS is " << lds(arr, n);
return 0;
}