Pagini recente » Cod sursa (job #1915669) | Cod sursa (job #425219) | Cod sursa (job #2296574) | Cod sursa (job #2841757) | Cod sursa (job #2261277)
#include <fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
long long nr, v[100004], d[100004], last[100004];
void afis(long long nr)
{
if(nr == 0)
return;
afis(last[nr]);
cout << v[nr] << ' ';
}
int main()
{
cin >> nr;
for(int i=1; i <= nr; i++)
cin >> v[i];
for(int i=1; i <= nr; i++)
{
d[i] = 1;
for(int j=i; j > 0; j--)
{
if(v[j] < v[i] && d[i] < d[j]+1)
{
d[i] = d[j]+1;
last[i] = j;
}
}
}
cout << d[nr] << '\n';
afis(nr);
}