Pagini recente » Cod sursa (job #3225428) | Cod sursa (job #124455) | Cod sursa (job #2505069) | Cod sursa (job #781026) | Cod sursa (job #2386172)
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n,i,maxim,p,j,u,k,v[100002],t[100002],d[100002],af[100002];
int main()
{
fin >> n;
for (i=1;i<=n;i++)
{
fin >> v[i];
}
v[n+1]=2000000005;
d[1]=1;
for (i=2;i<=n;i++)
{
maxim=0;
p=0;
for (j=1;j<i;j++)
{
if (v[j]<v[i] && d[j]>maxim)
{
maxim=d[j];
p=j;
}
}
d[i]=maxim+1;
t[i]=p;
}
u=n;
while (u!=0)
{
k++;
af[k]=v[u];
u=t[u];
}
fout << k << "\n";
for (i=k;i>=1;i--) fout << af[i] << " ";
return 0;
}