Pagini recente » Cod sursa (job #2278183) | Cod sursa (job #1650608) | Cod sursa (job #2310011) | Cod sursa (job #1190705) | Cod sursa (job #1102647)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int m,j=1,d,i,n,x[100100],l,v[100100];
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>v[i];
while((j<<1)<=l)
j<<=1;
m=0;
d=j;
while(d)
{
if(m+d<=l&&v[i]>v[x[m+d]])
m+=d;
d>>=1;
}
if(m==l)
{
x[++l]=i;
}
else
{
if(v[i]<v[x[m+1]])
{
x[m+1]=i;
}
}
}
g<<l<<'\n';
for(i=1;i<=l;i++)
g<<v[x[i]]<<" ";
g<<'\n';
return 0;
}