Cod sursa(job #2391019)
| Utilizator | Data | 28 martie 2019 16:49:23 | |
|---|---|---|---|
| Problema | Subsir 2 | Scor | 18 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <iostream>
#include <fstream>
#define MAX(a,b)(a > b ? a : b)
using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
const int NMAX = 5000;
int n,v[NMAX + 1],lis[NMAX + 5],len = -(1 << 30);
void Lis(){
lis[0] = 1;
for(int i = 1;i < n;i++)
{
for(int j = 0;j < i;j++){
if (v[i] > v[j] && lis[i] < lis[j] + 1)
lis[i] = lis[j] + 1;
len = MAX(len, lis[i]);
}
}
}
int main(){
f >> n;
for(int i = 0;i < n;i++)
f >> v[i];
Lis();
g << len << "\n";
}
