Pagini recente » Cod sursa (job #1407255) | Cod sursa (job #1407181) | Cod sursa (job #1059213) | Cod sursa (job #2119900)
#include <bits/stdc++.h>
using namespace std;
int n,a[100001],j,rez[100001],poz[100001],m;
void afis (int n, int k){
while(poz[n]!=k) n--;
if(k>1)afis(n-1,k-1);
printf("%d ",a[n]);
}
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]),j=1;
while(a[i] > rez[j] && j <= m)
j++;
poz[i]=j;
rez[j]=a[i];
m=max(m,j);
}
printf("%d\n",m);
afis(n,m);
return 0;
}