Cod sursa(job #1068691)

Utilizator Catalina_BrinzaBrinza Catalina Catalina_Brinza Data 28 decembrie 2013 17:36:22
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
//
//  main.cpp
//  scmax
//
//  Created by Catalina Brinza on 10/19/13.
//  Copyright (c) 2013 Catalina Brinza. All rights reserved.



#include <fstream>
#define nr 100001
using namespace std;
int main()
{int n,i,j,x,k=0,l=0, v[nr],s[nr],pred[nr];
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
for (i=0;i<n;i++)
f>>v[i];
s[0]=1;
for (i=1;i<n;i++)
{s[i]=1;
    pred[i]=-1;
    for ( j = 0; j < i; ++j )
        if ( v[j] < v[i] && s[j] + 1 > s[i] ) {
            s[i] = s[j] + 1;
            pred[i] = j;
       
        }
    if (s[i]>l)
    {k=i;
        l=s[i];
    }
}
g<<l<<"\n";
    x=0;
    while (l!=0)
    {s[x]=v[k];
        x++;
        k=pred[k];
        l--;
    }
    for (i=x-1;i>=0;i--) g<<s[i]<<' ';
    f.close();
    g.close();
f.close();
g.close();
return 0;
}