Pagini recente » Cod sursa (job #546714) | Cod sursa (job #341449) | Cod sursa (job #111044) | Cod sursa (job #2404450) | Cod sursa (job #1284156)
#include <iostream>
#include <fstream>
#define NMax 100001
using namespace std;
int a[NMax],l[NMax],poz[NMax];
int n,m,prim;
void Citire()
{
ifstream g("scmax.in");
g>>n;
for(int i=1;i<=n;i++)
g>>a[i];
}
void Subsir()
{
int i,j;
for(int i=n;i>=1;i--)
{
l[i]=1;poz[i]=0;
for(j=i+1;j<=n;j++)
if(a[i]<a[j] && l[i]<1+l[j])
{
l[i]=1+l[j];
poz[i]=j;
}
if(m<l[i])
{
m=l[i];prim=i;
}
}
}
void Afisare()
{
ofstream f("scmax.out");
f<<m<<endl;
for(int i=prim;i>0;i=poz[i])
f<<a[i]<<' ';
}
int main()
{
Citire();
Subsir();
Afisare();
}