Pagini recente » Cod sursa (job #124911) | Cod sursa (job #2618940) | Cod sursa (job #1435190) | Cod sursa (job #1060970) | Cod sursa (job #1118106)
#include<cstdio>
int n,v[101],m[101],i;
int fbin(int x,int y)
{
int mid=(x+y)/2;
if(mid<=0) return 0;
if((v[i]>m[mid]||m[mid]==0)&&v[i]<m[mid+1]) return mid;
if(v[i]>m[mid]) return fbin(x,mid-1);
if(v[i]<m[mid+1]) return fbin(mid+1,y);
return 0;
}
int main()
{
int deg;
freopen("scmax.in","rt",stdin);
freopen("scmax.out","wt",stdout);
scanf("%ld",&n);
int maxim=n;
for(i=1;i<=n;i++)
scanf("%ld",&v[i]);
m[n]=v[n];
for(i=n-1;i>=1;i--)
{
deg=fbin(i,n);
m[deg]=v[i];
if(deg<maxim&°!=0) maxim=deg;
}
printf("%ld\n",maxim);
for(i=n-maxim+1;i<=n;i++)
printf("%ld ",m[i]);
}