Pagini recente » Cod sursa (job #1597793) | Cod sursa (job #63424) | Cod sursa (job #1212893) | Cod sursa (job #99072) | Cod sursa (job #698796)
Cod sursa(job #698796)
#include <fstream>
using namespace std;
int bst[100069],smax[100069];
int main()
{
int i,j,n,max,sir[100069];
ifstream in ("scmax.in");
ofstream out ("scmax.out");
in>>n;
for (i=1;i<=n;i++)
in>>sir[i];
bst[1]=1;
for (i=2;i<=n;i++)
{
max=0;
for (j=i-1;j>=1;j--)
{
if (max<=bst[j])
{
if (sir[i]>sir[j])
{
bst[i]=bst[j]+1;
max=bst[j];
}
}
}
if (bst[i]==0)
bst[i]=1;
}
max=1;
for (i=1;i<=n;i++)
{
if (bst[i]>max)
max=bst[i];
}
out<<max<<"\n";
for (i=1;i<=n;i++)
smax[bst[i]]=sir[i];
for (i=1;i<=max;i++)
out<<smax[i]<<" ";
return 0;
}