Cod sursa(job #1945494)

Utilizator AndreiCiboAndrei Cibo AndreiCibo Data 29 martie 2017 15:04:13
Problema Subsir crescator maximal Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;
int v[1000],L[1000],n,i,k,maxim,succ[1000],t;
int main()
{
   ifstream f("scmax.in");
   ofstream g("scmax.out");
f>>n;
for(i=1;i<=n;i++)
    f>>v[i];
L[n]=1;

for(k=n-1;k>=1;k--)
{
    maxim=0;
    for(i=k+1;i<=n;i++)
        if(v[i]>v[k]&&L[i]>maxim)
        {
           maxim=L[i];
           succ[k]=i;
        }
    L[k]=1+maxim;
}
maxim=L[1];
t=1;
for(k=1;k<=n;k++)
    if(L[k]>maxim)
    {
       maxim=L[k];
       t=k;
    }
g<<maxim<<endl<<v[t]<<" ";
maxim--;
while(maxim)
{
   t=succ[t];
   g<<v[t]<<" ";
   maxim--;
}
    return 0;
}