Pagini recente » Cod sursa (job #2843175) | Cod sursa (job #1098918) | Cod sursa (job #11588) | Cod sursa (job #1654044) | Cod sursa (job #2613645)
#include <fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int v[100000], d[100000];
int main()
{
int n, i, j, maxx, t;
cin>>n;
for (i=1; i<=n; i++)
cin>>v[i];
d[n]=1;
for (j=n-1; j>=1; j--)
{
maxx=0;
for (i=j+1; i<=n; i++)
if (v[i]>v[j] && d[i]>maxx)
maxx=d[i];
d[j]=1+maxx;
}
maxx=d[1];
t=1;
for (j=1; j<=n; j++)
if (d[j]>maxx)
{
maxx=d[j];
t=j;
}
cout<<maxx<<'\n'<<v[t]<<' ';
for (i=t+1; i<=n; i++)
if (v[i]>v[t] && d[i]==maxx-1)
{
cout<<v[i]<<' ';
maxx--;
}
}