Pagini recente » Cod sursa (job #2209821) | Cod sursa (job #341403) | Cod sursa (job #2871023) | Cod sursa (job #621358) | Cod sursa (job #2878530)
// Determinati lungimea subsitului crescator maximal (SCMAX)
#include <fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int SCMAX(int n, int v[100001]) {
int dp[100001];
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[0];
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;
}