Cod sursa(job #350706)
| Utilizator | Data | 25 septembrie 2009 16:15:20 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 35 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <fstream>
#include <algorithm>
using namespace std;
const int VMAX = 100001;
int v[VMAX];
int best[VMAX];
int main() {
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n;
fin>>n;
for (int i = 0; i < n; ++i)
fin>>v[i];
int solutie = 0;
for (int i = 0; i < n; ++i) {
int mx = 0;
for (int j = 0; j < i; ++j)
if (v[j] < v[i])
mx = max(mx, best[j]);
best[i] = mx + 1;
solutie = max(solutie, best[i]);
}
fout<<solutie;
fout.close();
return 0;
}
