Cod sursa(job #1585621)

Utilizator gorni97aaa aaa gorni97 Data 31 ianuarie 2016 12:04:24
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
#define maxn 100005
using namespace std;
int main()


{int i,n,max,v[maxn],poz[maxn],best[maxn],p,x,j,b[maxn],y;
fstream f("scmax.in",ios::in);
fstream g("scmax.out",ios::out);
f>>n;
for(i=1;i<=n;i++)
    {f>>v[i];best[i]=1;poz[i]=i;}
max=0;

poz[1]=1;
for(i=2;i<=n;i++)
    for(j=1;j<i;j++)
        if((v[j]<v[i])&&(best[i]<best[j]+1))
    {best[i]=best[j]+1;
    poz[i]=poz[j];
    if(best[i]>max)
    {max=best[i];
    p=i;}
    }
   g<<max<<'\n';

    x=best[p];j=2000000002;y=0;
    for(i=p;((i>=1)&&(x>=1));i--)
    if((best[i]==x)&&(v[i]<j))
    {y++;b[y]=v[i];j=v[i];
    x--;
    }
for(i=y;i>=1;i--)
    g<<b[i]<<" ";

f.close();
g.close();


}