Pagini recente » Cod sursa (job #267877) | Cod sursa (job #1705649) | Cod sursa (job #2577379) | Cod sursa (job #1676499) | Cod sursa (job #2699323)
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int a[100001], drum[100001];
void Afisare_drum(int poz)
{
if(drum[poz] != 0)
{
Afisare_drum(drum[poz]);
}
fout << a[poz] << " ";
}
int main()
{
int n, i, j, lg[100001], maxi = 0, poz = 0, v[100001], dim = 0;
fin >> n;
for(i = 1; i <= n; i++)
fin >> a[i];
for(i = 1; i <= n; i++)
{
lg[i] = 1;
for(j = 1; j < i; j++)
if(a[j] < a[i] && lg[j] + 1 > lg[i])
{
lg[i] = lg[j] + 1;
drum[i] = j;
}
}
for(i = 1; i <= n; i++)
{
if(lg[i] > maxi)
{
maxi = lg[i];
poz = i;
}
}
Afisare_drum(poz);
/*
while(poz != 0)
{
v[++dim] = a[poz];
poz = drum[poz];
}
for(i = dim; i >= 1; i--)
fout << v[i] << " ";
*/
return 0;
}