Cod sursa(job #700934)

Utilizator SegaXXXSergiu SegaXXX Data 1 martie 2012 12:37:38
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;

#define ll long long

int main()
{
    ll n,a[100001],l[100001],i,j,poz,maxx;
    ifstream f("scmax.in");
    f>>n;
    for(int i=1;i<=n;i++) f>>a[i];
    f.close();

    maxx=l[n]=1;

    for(i=n-1;i>0;i--)
        for(j=i+1;j<=n;j++)
        {
            if(a[i]<a[j] && l[i]<l[j])
                l[i]=l[j]+1;
            if(maxx<l[i]) maxx=l[i],poz=i;
        }


    ofstream g("scmax.out");
    g<<maxx<<"\n"<<a[poz]<<" "; maxx--;
    for(i=poz+1;i<=n;i++)
        if(l[i]==maxx)
        {
            maxx--;
            g<<a[i]<<" ";
        }
    g.close();
    return 0;
}