Pagini recente » Cod sursa (job #1593858) | Cod sursa (job #643941) | Cod sursa (job #2076781) | Cod sursa (job #2173919) | Cod sursa (job #2878528)
// Determinati lungimea subsitului crescator maximal (SCMAX)
#include <fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int SCMAX(int n, vector<int> v) {
vector<int> dp(n);
dp[0] = 1;
for (int i = 1; i < n; i++) {
int max = 0;
for (int j = 0; j < i; j++) {
if (v[i] > v[j]) {
if (dp[j] > max) {
max = dp[j];
}
}
}
if (max) {
dp[i] = max + 1;
} else {
dp[i] = 1;
}
}
int max = dp[1];
for (int i = 1; i < n; i++) {
if (dp[i] > max) {
max = dp[i];
}
}
return max;
}
int main() {
int n;
int v[100001];
cin >> n;
for (int i = 0; i < n; i++) {
cin >> v[i];
}
cout << SCMAX(n, v) << endl;
cin.close();
cout.close();
return 0;
}