Cod sursa(job #1753768)

Utilizator asavu16Andrei Savu asavu16 Data 7 septembrie 2016 10:03:19
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,i,j,a[100020],b[100020],v[100020],Max,M,p;
int main()
{
    f>>n;
    for(i=1;i<=n;++i)
    {
        f>>v[i];
    }
    a[n]=1;
    M=1;
    for(i=n-1;i>=1;i--)
    {
        Max=0;
        for(j=i+1;j<=n;++j)
            if(v[i]<v[j]&&a[j]>Max)
        {
            Max=a[j];
            b[i]=j;
        }
        a[i]=Max+1;
        if(a[i]>M)
        {
            M=a[i];
            p=i;
        }
    }
    g<<M<<endl;
    g<<v[p]<<" ";
    M--;
    for(i=p+1;i<=n;++i)
        if(v[i]>v[p]&&a[i]==M)
    {
        g<<v[i]<<" ";
        p=i;
        M--;
    }
    return 0;
}