Cod sursa(job #1119938)

Utilizator blackbunny96Uriciuc Adrian blackbunny96 Data 24 februarie 2014 20:50:09
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n,i,maxi,l[100001],a[100001],j,poz;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    l[n]=1;
    for(i=n-1;i>=1;i--)
    {
        maxi=0;
        for(j=i+1;j<=n;j++)
            if((l[j]>maxi)&&(a[j]>a[i]))
                maxi=l[j];
        l[i]=1+maxi;
    }
    maxi=0;
    for(i=1;i<=n;i++)
        if(l[i]>maxi)
        {
            maxi=l[i];
            poz=i;
        }
    fout<<maxi<<'\n';
    fout<<a[poz]<<" ";
    for(i=poz+1;i<=n;i++)
        if(a[i]>=a[poz]&&l[i]==l[poz]-1)
        {
            fout<<a[i]<<" ";
            poz=i;
        }
    fout.close();
    return 0;
}