Cod sursa(job #2261684)

Utilizator danielsociuSociu Daniel danielsociu Data 16 octombrie 2018 16:07:59
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
std::ifstream cin("scmax.in");
std::ofstream cout("scmax.out");
#define maxn 100005
int v[maxn],a[maxn],n,maxi;

int rez(){
    a[n]=1;
    for(int i=n-1;i>0;i--){
        a[i]=1;
        for(int j=i+1;j<=n;j++)
            if(a[i]<a[j]+1&&v[i]<v[j])
                a[i]=a[j]+1;
        if(a[i]>maxi)
            maxi=a[i];
    }
}
void afis(){
    cout<<maxi<<'\n';
    for(int i=1;maxi;i++)
        if(a[i]==maxi){
            cout<<v[i]<<' ';
            maxi--;
        }
}

int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>v[i];
    rez();
    afis();
    return 0;
}