Cod sursa(job #694973)

Utilizator alexapoApostol Alexandru Ionut alexapo Data 28 februarie 2012 09:44:06
Problema Subsir crescator maximal Scor 45
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
long long n,v[100005],i,j,maxi,best[100005],bun[100005],pi,k;
int main()
{
    f>>n;
    f>>v[1];
    for(i=2;i<=n;i++)
    {
        f>>v[i];
        for(j=1;j<i;j++)
        if(v[i]>v[j]&&best[i]<best[j]+1)
        best[i]=best[j]+1;
        if(best[i]>maxi)
        maxi=best[i],pi=i;

    }
    maxi+=1;
     g<<maxi<<'\n';
     k=1;
     bun[k]=v[pi];
     pi--;
     maxi--;
    for(i=pi;i>=1;i--)
    {
        if(best[i]<maxi)
        bun[k+1]=v[i],k++,maxi--;
    }
    for(i=k;i>=1;i--)
    g<<bun[i]<<' ';
    f.close();
    g.close();
    return 0;
}