Pagini recente » Cod sursa (job #3261185) | Cod sursa (job #1683687) | Cod sursa (job #1546800) | Cod sursa (job #3298638) | Cod sursa (job #1546803)
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int a[100001], n;
int len[100001], father[100001];
void baga(int poz)
{
if( poz == 0 )
return;
baga(father[poz]);
fout << a[poz] << ' ';
}
int main()
{
fin >> n;
int lmax = 0, pmax, l, p;
for( int i = 1; i <= n; ++i )
{
fin >> a[i];
l = 0, p = 0;
for( int j = i - 1; j > 0; --j )
{
if( a[j] < a[i] && len[j] > l )
l = len[j], p = j;
}
len[i] = l + 1;
father[i] = p;
if( len[i] > lmax )
lmax = len[i], pmax = i;
}
fout << lmax << '\n';
baga(pmax);
return 0;
}