Pagini recente » Clasament simulareoji2015p2 | Cod sursa (job #768699) | Cod sursa (job #2835075) | Cod sursa (job #558801) | Cod sursa (job #1717362)
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
#define nmax 100000
int n,x[nmax],p[nmax],l[nmax];
void afisare(int pc){
if(pc!=0)
{afisare(p[pc]);
fout<<x[pc]<<" ";}}
int main(){
fin>>n;
for(int i=1;i<=n;i++)
fin>>x[i];
for(int i=1;i<=n;i++)
{l[i]=1;
p[i]=0;
for(int j=1;j<i;j++)
if(l[i]<l[j]+1&&x[i]>x[j])
{l[i]=l[j]+1;
p[i]=j;}}
int pmax=1;
for(int i=1;i<=n;i++)
if(l[i]>l[pmax])
pmax=i;
fout<<l[pmax]<<"\n";
afisare(pmax);
return 0;}