Pagini recente » Cod sursa (job #2055800) | Cod sursa (job #2597651) | Cod sursa (job #2683557) | Cod sursa (job #2506357) | Cod sursa (job #2139444)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("scmax.in");
ofstream g ("scmax.out");
int i, j, v[100001], lungime[100001], pozitie[100001], p, Max, n;
int main()
{
f>>n;
for(i=1; i<=n; i++)
f>>v[i];
for(i=n; i>=1; i--)
{
lungime[i]=1;
pozitie[i]=0;
for(j=i+1; j<=n; j++)
if(v[i]<v[j] && lungime[i]<1+lungime[j])
{
lungime[i]=1+lungime[j];
pozitie[i]=j;
}
if(Max<lungime[i])
{
Max=lungime[i];
p=i;
}
}
for(i=p;i>0;i=pozitie[i])
g<<v[i]<<" ";
}