Cod sursa(job #2182019)

Utilizator CojocaruDragosCojocaru Dragos Andrei CojocaruDragos Data 21 martie 2018 23:59:36
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
int i, poz,n,v[100],b[100],r[100],p,maxx;
int constr(int poz)
{int maxi=0;
    if(poz==1)return 1;
    for(i=1;i<poz;i++)
        if(v[i]<v[poz]&&b[i]>maxi)
        maxi=b[i];
    return maxi+1;
}
int main()
{int maxi=0;
    in>>n;
    for(i=1;i<=n;i++)
        in>>v[i];
    for(i=1;i<=n;i++)
        b[i]=constr(i);
    for(i=1;i<=n;i++)
        if(b[i]>maxi)
        {maxi=b[i]; maxx=i;}
        r[++p]=v[maxx];
int         aux=maxx-1;
    for(i=aux;i>=1;i--)
    if(v[i]<v[maxx]&&b[i]==b[maxx]-1)
    {maxx=i;r[++p]=v[i];}
    out<<p<<'\n';
    for(i=p;i>=1;i--)
        out<<r[i]<<" ";
    return 0;
}