Cod sursa(job #2282032)

Utilizator IoanaStanStan Ioana Ligia IoanaStan Data 13 noiembrie 2018 08:35:38
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <fstream>

using namespace std;
ifstream fin ("scmax.in");
ofstream fout ("scmax.out");
long x[100001], v[100001], i, n, k, j, maxi, w;
int main()
{
    fin>>n;
    for (i=1; i<=n; i++)
    {
        fin>>v[i];

    }
    x[n]=1;
    for (i=n-1; i>=1; i--)
    {
        k=0;
        for (j=i+1; j<=n; j++)
        {
            if (v[i]<v[j])
            {
                if (x[j]>k)
                {
                    k=x[j];
                }
            }
        }
        x[i]=k+1;
        if (x[i]>maxi)
        {
            maxi=x[i];
            w=i;
        }
    }
    fout<<maxi<<endl;
    fout<<v[w]<<" ";
    for (i=w+1; i<=n; i++)
    {
        if (v[w]<v[i])
        {
            if (x[w]==x[i]+1)
            {
                fout<<v[i]<<" ";
                w=i;
            }
        }
    }
    return 0;
}