Mai intai trebuie sa te autentifici.
Cod sursa(job #874567)
| Utilizator | Data | 8 februarie 2013 20:27:10 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n, a; cin >> n;
vector<int> minlast;
vector<int>::iterator it;
for (; n>0; --n) {
cin >> a;
it=lower_bound(minlast.begin(),minlast.end(),a);
if (it==minlast.end()) minlast.push_back(a);
else *it=a;
}
cout << minlast.size() << '\n';
for (it=minlast.begin(); it!=minlast.end(); ++it)
cout << *it << ' ';
return 0;
}
