Pagini recente » Cod sursa (job #128639) | Cod sursa (job #2025097) | Cod sursa (job #237509) | Cod sursa (job #2960018) | Cod sursa (job #698854)
Cod sursa(job #698854)
#include <fstream>
using namespace std;
int bst[100069],smax[100069];
int main()
{
int i,j,n,max,sir[100069],inmax;
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";
inmax=1;
for (i=1;i<=n;i++)
{ if (bst[i]>inmax)
{
smax[bst[i]]=sir[i];
inmax=bst[i];
}
}
for (i=1;i<=max;i++)
out<<smax[i]<<" ";
out<<"\n";
/*for (i=1;i<=n;i++)
out<<sir[i]<<" ";
out<<"\n";
for (i=1;i<=n;i++)
out<<bst[i]<<" ";*/
return 0;
}