Cod sursa(job #865280)

Utilizator marco45Pacurariu Marco marco45 Data 26 ianuarie 2013 12:19:25
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
using namespace std;
long int n,i,a[100001],b[100001],j,k=0;
int main()
{
    ifstream fin("scmax.in");
    ofstream fout("scmax.out");
    fin>>n;
    for(i=1;i<=n;i++) {fin>>a[i]; }
    for(i=n;i>=1;i--)
    {
        for(j=i+1;j<=n;j++)
        {
            if((a[i]<a[j])&&(b[i]<=b[j])) b[i]=b[j]+1;
        }
        if(b[i]==0) b[i]=1;
    }
    for(i=1;i<=n;i++) if(b[i]>k) k=b[i]; fout<<k<<endl;

    for(i=1;i<=n;i++)
    {
        if(b[i]==k) {fout<<b[i]<<" ";k--;}
    }

    fin.close();
    fout.close();
    return 0;
}