Pagini recente » Cod sursa (job #1568798) | Cod sursa (job #1260729) | Cod sursa (job #2589136) | Cod sursa (job #367618) | Cod sursa (job #418098)
Cod sursa(job #418098)
#include <fstream>
using namespace std;
int l[1<<20],v[1<<20];
ifstream in("scmax.in");
ofstream out("scmax.out");
void scr(int i,int max)
{
if (i==0) return;
if (l[i]==max)
{
scr(i-1,max-1);
out<<v[i]<<" ";
}
else
scr(i-1,max);
}
int main()
{
long long maxim=0,i,j,n,x;
in>>n;
for (i=1;i<=n;i++)
{
in>>v[i];
l[i]=1;
for (j=i-1;j>=1;j--)
if (v[j]<v[i])
{
l[i]=l[j]+1;
if (maxim<l[i])
{
maxim=l[i];
x=i;
}
break;
}
}
out<<maxim<<"\n";
scr(x,maxim);
return 0;
}