Pagini recente » Cod sursa (job #3291186) | Cod sursa (job #1847045) | Cod sursa (job #17427) | unmicwarmup | Cod sursa (job #1131697)
#include <fstream>
using namespace std;
int v[100001], t[100001], n, l=0, lg[100001];
ifstream in("scmax.in");
ofstream out("scmax.out");
void refac(int k, int i)
{
for(; i>=1; i--)
if(lg[i]==k)
{
if(k>1) refac(k-1, i-1);
out<<v[i]<<" ";
break;
}
}
int main()
{
int i,j,ch;
in>>n;
for(i=0;i<n;i++)
{
in>>v[i];
ch=0;
for(j=1;j<=l;j++)
if(v[i]<=t[j])
{
t[j]=v[i];
ch=1;
lg[i]=j;
break;
}
if(!ch)
{
t[++l]=v[i];
lg[i]=l;
}
}
out<<l<<"\n";
refac(l, n);
out<<"\n";
}