Pagini recente » Cod sursa (job #3155368) | Cod sursa (job #2843704) | Cod sursa (job #237248) | Cod sursa (job #2477561) | Cod sursa (job #1691047)
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int i, j, n, maxi, poz;
int a[100001], b[100001], pos[100001];
int main()
{
fin >> n;
for(i=1; i<=n; i++)
fin >> a[i];
for(i=n; i>0; i--)
{
b[i]=1;
for(j=i+1; j<=n; j++)
if(a[i] < a[j] && b[i] < b[j]+1)
{
b[i] = b[j]+1;
pos[i] = j;
}
if( b[i] > maxi )
{
maxi = b[i];
poz = i;
}
}
fout<<maxi<<'\n';
for(i=poz; i>0; i=pos[i])
fout<<a[i]<<" ";
fin.close();
fout.close();
return 0;
}