Pagini recente » Cod sursa (job #90185) | Cod sursa (job #703513) | Cod sursa (job #1736964) | Cod sursa (job #918641) | Cod sursa (job #2391019)
#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";
}