Pagini recente » Cod sursa (job #602343) | Cod sursa (job #983341) | Cod sursa (job #2435041) | Cod sursa (job #873952) | Cod sursa (job #1504014)
#include <fstream>
using namespace std;
ifstream fi("scmax.in");
ofstream fo("scmax.out");
void afisare(int k,int t[],int v[])
{ if(t[k]!=-1)
afisare(t[k],t,v);
fo<<v[t[k]]<<" ";
}
int main()
{ int i,j,v[100005]={},n,dp[100005]={1},t[100005]={-1},max=0;
fi>>n;
for(i=1;i<=n;i++)
fi>>v[i];
for(i=1;i<=n;i++)
{
for(j=1;j<i;j++)
if(v[j]<v[i])
if(dp[i]<dp[j]+1)
{
dp[i]=dp[j]+1;
t[i]=j;
}
}
for(i=1;i<=n;i++)
if(dp[i]>max)
{max=dp[i];j=i;}
afisare(j,t,v);
fo<<v[j];
}