Cod sursa(job #1150481)

Utilizator Adi__mMaduta Adrian Adi__m Data 23 martie 2014 09:17:25
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>
using namespace std;
#define dim 100001
unsigned int v[dim],l[dim];
int main()
{
    ifstream f("scmax.in");
    ofstream g("scmax.out");
    unsigned int i,k,n; f>>n;
    for(i=1;i<=n;i++) f>>v[i]; f.close();
    l[n]=1; unsigned int x=0;
    for(k=n-1;k>=1;k--)
    {
        unsigned int maxim=0;
        for(i=k+1;i<=n;i++)
        if(v[i]>v[k]&&l[i]>maxim) maxim=l[i];
        l[k]=maxim+1;
        if(l[k]>x) x=l[k];
    }
    g<<x<<'\n';
    for(i=1;i<=n;i++)
    if(l[i]==x) {g<<v[i]<<' '; x--;}
    g<<'\n'; g.close();
    return 0;
}