Pagini recente » Cod sursa (job #690956) | Cod sursa (job #1636474) | Cod sursa (job #1107499) | infoarena - comunitate informatica, concursuri de programare | Cod sursa (job #858670)
Cod sursa(job #858670)
#include <iostream>
#include <fstream.h>
using namespace std;
int a[10],lg[10];
int main()
{
ifstream fin ("subsir.in ");
int n,i,j,max;
fin >> n;
for (i=0;i<n;i++)
fin >> a[i];
lg [n-1]=1;
for (i=n-2;i>=0;i--)
{
max=0;
for (j=i+1;j<n;j++)
if (lg[j]>max && (a[j] > a[i]))
max=lg[j];
lg[i]=max+1;
}
max=0;
int x;
for (i=0;i<n;i++)
if (lg[i]>max)
{
max=lg[i];
x=i;
}
cout << lg[x] << endl;
cout << a[x] << " ";
while (max)
{
for (j=x+1;j<n;j++)
if (lg[j]==max-1 && a[j]>a[x])
{
x=j;
cout << a[j] << " ";
}
max--;
}
return 0;
}