Pagini recente » Cod sursa (job #1208317) | Cod sursa (job #1565647) | Cod sursa (job #486292) | Cod sursa (job #709536) | Cod sursa (job #2440316)
#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;
}