Cod sursa(job #2178250)

Utilizator petrea1551Petrea Calin petrea1551 Data 19 martie 2018 12:00:39
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>
using namespace std;

int n, a[100100], b[100100], c[100100], r;

void print_r(int r)
{
	if (c[r] != 0)
		print_r(c[r]);
	cout << a[r] << ' ';
}

int main()
{
	ifstream cin('scmax.in');
	ofstream cout('scmax.out');
	cin >> n;
	for (int i = 1; i <= n; i++)
		cin >> a[i];
	for (int i = 1; i <= n; i++)
	{
		c[i] = 0;
		b[i] = 1;
		for (int j = 1; j < i; j++)
			if(a[i] >= a[j] && b[j] + 1 > b[i])
			{
				b[i] = b[j] + 1;
				c[i] = j;
			}
		if (b[i] > b[r])
			r = i;
	}
	cout << b[r] << endl;
	print_r(r);
	return 0;
}