QBDIVSEQ - Chia dãy

Tác giả: khuc_tuan

Ngôn ngữ: C++

#include <iostream>
#include <vector>
using namespace std;

int main() {
	int n;
	scanf("%d", &n);
	vector<int> v;
	for(int i=0;i<n;++i) {
		int x;
		scanf("%d", &x);
		vector<int> :: iterator p = lower_bound(v.begin(), v.end(), x, greater<int>());
		if(p==v.end()) v.push_back(x);
		else *p = x;
	}
	cout << v.size() << endl;
	return 0;
}

Download