Cod sursa(job #3135194)

Utilizator AndPitAndreeaPiticar AndPit Data 2 iunie 2023 11:50:14
Problema Subsir crescator maximal Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <vector>
#define int long long
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
vector<int>v;
vector<int>ans;
int32_t main() {
	int n;
	cin >> n;
	for (int i = 0; i < n; ++i) {
		int x;
		cin >> x;
		v.push_back(x);
	}
	ans.push_back(v[0]);
	for (int i = 1; i < n; ++i) {
		if (v[i] > ans.back())
			ans.push_back(v[i]);
		else {
			int low = lower_bound(ans.begin(), ans.end(), v[i]) - ans.begin();
			ans[low] = v[i];
		}
	}
	cout << ans.size() << '\n';
	for (auto i : ans)
		cout << i << ' ';
	return 0;
}