Cod sursa(job #1241460)

Utilizator danstefanDamian Dan Stefan danstefan Data 13 octombrie 2014 16:24:45
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
//24 12 15 15 19
#include <fstream>
#include <cstdio>
using namespace std;
long long n,i,x[100000],v[10000],lu,j,k,mi,poz,ma,mm,Max, MG;
int main()
{
    freopen("scmax.in","r",stdin);
    ofstream g ("scmax.out");
    scanf("%d",&n);
    for(i=1; i<=n; i++)
        scanf("%d",&v[i]);
    k=n;
    x[k]=1;
    for(i=n-1; i>=1; i--)
    {
        Max=0;
        for(j=i+1; j<=n; j++)
            if(v[j]>v[i]&&x[j]>Max)
                Max=x[j];
        x[i]=Max+1;
        if(x[i]>MG) {MG=x[i]; poz=i;}
    }

    g<<MG<<'\n';
    mm=MG--;
    while(mm>0)
    {
        for(i=poz; i<=n; i++)
            if(x[i]==mm)
            {
                g<<v[i]<<" ";
                poz=i;
                mm--;
                break;
            }
    }
    //for(i=1;i<=n;i++)
    //g<<x[i]<<" ";
    return 0;
}