Pagini recente » Cod sursa (job #957416) | Cod sursa (job #2546449) | Cod sursa (job #2904947) | Cod sursa (job #1788186) | Cod sursa (job #2044312)
#include <fstream>
#define dm 100005
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n,a[dm],best[dm],poz[dm],maxx;
void Afis(int k)
{
if(poz[k]!=0)
Afis(poz[k]);
fout<<a[k]<<" ";
}
int main()
{
fin >> n;
for(int i = 1 ;i <= n; ++i)
fin >> a[i];
best[1] = 1; poz[1] = 0;
for(int i = 2;i <= n; ++i)
{
best[i] = 1; poz[i] = 0;
for(int j = 1;j <= i-1; ++j)
if( a[j] < a[i] && best[i] < best[j] + 1 )
{
best[i] = best[j] + 1;
poz[i] = j;
}
}
maxx = 1;
for(int i = 2;i <= n; ++i)
if(best[i] > best[maxx])
maxx = i;
fout << best[maxx] << "\n";
Afis(maxx);
return 0;
}