Cod sursa(job #2440316)

Utilizator mvcl3Marian Iacob mvcl3 Data 18 iulie 2019 10:25:16
Problema Subsir crescator maximal Scor 35
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;

inline void read(ifstream& in, int& n, vector<int>& v) {
	in >> n;
	v.resize(n);
	for (int i = 0; i < n; ++i)
		in >> v[i];
}

inline int computeMaxim(int n, vector<int>& v, vector<int>& best) {
	best.resize(n, 0);

	int solution = 0;
	for (int i = 0; i < n; ++i) {
		int maxim = 0;
		for (int j = 0; j < i; ++j) {
			if( v[j] < v[i]) {
				maxim = max(maxim, best[j]);
			}
		}

		best[i] = maxim + 1;
		solution = max(best[i], solution);
	}

	return solution;
}

int main() {
	vector<int> a;
	vector<int> best;
	int n;
	ifstream in("scmax.in");
	ofstream out("scmax.out");

	read(in, n, a);
	out << computeMaxim(n, a, best);

	out.close();
	in.close();
	
	return 0;
}