Pagini recente » Cod sursa (job #2301748) | Cod sursa (job #1097644) | Cod sursa (job #2095264) | Cod sursa (job #176970) | Cod sursa (job #1649258)
#include <fstream>
using namespace std;
int x[100005],y[100005];
int cautbin(int a,int n)
{
int i=1,j=n,m;
while(i+1<j)
{
m=(i+j)/2;
if(a>x[m])
i=m+1;
else
j=m-1;
}
if(x[i]<a)
return i;
else
return -1;
}
int main()
{
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,lung=1,poz,a,i;
f>>n;
f>>a;
x[1]=a;
y[1]=1;
for(i=1;i<=n;i++)
{
f>>a;
poz=cautbin(a,lung);
if(poz==-1)
{
lung+=1;
y[lung]=1;
}
else
{
x[poz]=a;
y[poz]+=1;
}
}
int m=-1;
for(i=1;i<=lung;i++)
if(m<y[i])
m=y[i];
g<<m;
return 0;
}