Pagini recente » Cod sursa (job #1820280) | Cod sursa (job #2532877) | Cod sursa (job #1568340) | Cod sursa (job #3255198) | Cod sursa (job #1628813)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fi("scmax.in");
ofstream g("scmax.out");
int v[100005],vr[100005],n,m,aux,f[100005],rez=-1;
int caut_bin(int x)
{
int in,sf,mij;
in=1;
sf=m;
while(in<=sf)
{
mij=(in+sf)/2;
if(vr[mij]<x) sf=mij-1;
else in=mij+1;
}
return in;
}
int main()
{
fi>>n;
for(int i=1;i<=n;i++)
fi>>v[i];
vr[1]=v[1];
m++;
f[1]++;
for(int i=2;i<=n;i++)
{
aux=caut_bin(v[i]);
if(aux>m) m++;
vr[aux]=v[i];
f[aux]++;
if(rez<f[aux])
rez=f[aux];
}
g<<rez;
return 0;
}