Pagini recente » Cod sursa (job #2572340) | Cod sursa (job #659819) | Cod sursa (job #179669) | Cod sursa (job #1948769) | Cod sursa (job #2006164)
#include <fstream>
#define dim 100001
using namespace std;
int A[dim],Prec[dim],M[dim];
int main()
{
ifstream f("scmax.in");
ofstream g("scmax.out");
int i,j,N,st,dr,mij,k=0,poz;
f>>N;
for(i=1;i<=N;++i)
{
f>>A[i];
st=1;
dr=k;
while(st<=dr)
{
mij=(st+dr)/2;
if(A[i]>M[mij])
st=mij+1;
else
dr=mij-1;
}
M[st]=A[i];
Prec[i]=st-1;
if(st>k)
{
k=st;
poz=i;
}
}
g<<k<<'\n';
//fisam elementele
for(i=1;i<=k;++i)
g<<M[i]<<' ';
//while(poz)
//{
// g<<A[poz]<<' ';
// poz=Prec[poz];
//}
g<<'\n';
return 0;
}