Pagini recente » Cod sursa (job #2700170) | Cod sursa (job #3142444) | Cod sursa (job #2680360) | Cod sursa (job #2864055) | Cod sursa (job #2861535)
#include <iostream>
using namespace std;
struct elem {
int info;
elem* kovi = NULL;
};
int main()
{
int n;
cin >> n;
elem v[n];
for(int i = 0; i < n; i++)
{
cin >> v[i].info;
}
int maxHossz[n]={};
for(int i = n-1; i >= 0; i--)
{
int maxi = 1, maxihely = -1;
for(int j = i+1; j < n; j++)
{
if(v[i].info < v[j].info && maxi < maxHossz[j])
{
maxi = maxHossz[j];
maxihely = j;
}
}
maxHossz[i] = maxi + 1;
if(maxi > 1)
{
v[i].kovi = &v[maxihely];
}
}
int maxi = 0;
elem* maxihely = NULL;
for(int i = 0; i<n; i++)
{
if(maxHossz[i] > maxi)
{
maxi = maxHossz[i];
maxihely = &v[i];
}
}
while(maxihely)
{
cout << maxihely->info << " ";
maxihely = maxihely->kovi;
}
return 0;
}