Cod sursa(job #1917011)

Utilizator DamarisS99Stanc Damaris DamarisS99 Data 9 martie 2017 10:54:05
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n,i,j,maxi,ct,poz;
long long x, v[100001],lung[100001],xp;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    lung[n]=1;
    for(i=n-1;i>=1;i--)
    {
        for(j=i+1;j<=n;j++)
            if(v[i]<v[j])
                if(lung[j]>lung[i])
                    lung[i]=lung[j];
        lung[i]++;
    }
    for(i=1;i<=n;i++)
        if(lung[i]>maxi) {maxi=lung[i]; poz=i;}
    fout<<maxi<<"\n";
    fout<<v[poz]<<" ";
    for(i=poz+1;i<=n;i++)
        if(lung[i]==maxi-1 && v[poz]<v[i])
    {
        fout<<v[i]<<" ";
        maxi--;
        poz=i;
    }
    return 0;
}