Pagini recente » Cod sursa (job #2511850) | Cod sursa (job #52778) | Cod sursa (job #1347330) | Cod sursa (job #2425775) | Cod sursa (job #1164548)
#include<stdio.h>
#define nmax 100005
int st, dr, mjc, ne, n, x, poz, i;
int v[nmax];
void cauta()
{
st=1; dr=ne;
while (st<=dr)
{
mjc=(st+dr)/2;
if (v[mjc]<x)
st=mjc+1;
else
dr=mjc-1;
}
poz=st;
if(poz>ne)
ne++;
}
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%ld",&n);
for (i=1;i<=n;i++)
{
scanf("%ld",&x);
cauta();
v[poz]=x;
}
printf("%ld\n",ne);
for (i=1;i<=ne;i++)
printf("%ld ",v[i]);
return 0;
}