Cod sursa(job #1504014)

Utilizator vLaDy198Bocean Vlad vLaDy198 Data 17 octombrie 2015 11:16:15
Problema Subsir crescator maximal Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#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];
}