Pagini recente » Cod sursa (job #3292684) | Cod sursa (job #3293945) | Cod sursa (job #3292869) | Cod sursa (job #3293886) | Cod sursa (job #3293313)
#include<iostream>
#include<fstream>
using namespace std;
int v[100010];
int dp(int n, int* a){
int* ls = (int*) malloc(n*sizeof(int));
ls[0]=1;
int retVal=1;
for(int i=1;i<n;i++){
int m=0;
for(int j=0;j<i;j++){
if(a[j]<a[i]){
m=max(m,ls[j]);
}
}
m++;
ls[i]=m;
retVal = max(retVal, m);
}
return retVal;
}
int main(){
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n;
fin>>n;
for(int i=0;i<n;i++){
fin>>v[i];
}
// cout<<"gata\n";
// cout.flush();
fout<<dp(n,v);
fin.close();
fout.close();
}