Pagini recente » Cod sursa (job #1975807) | Cod sursa (job #3222154) | Cod sursa (job #2538423) | Cod sursa (job #700908) | Cod sursa (job #945017)
Cod sursa(job #945017)
#include <cstdio>
using namespace std;
int a[100001], b[100001],mx;
int main()
{
int n, m, i, j, max, u, p;
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d",&n);
for (i=1; i<=n; i++) scanf("%d",&a[i]);
b[n]=1;mx=0;
for (i=n-1; i>=1; i--)
{
max=0;
for (j=i+1; j<=n; j++)
{
if (a[i]<a[j] && max<b[j]) max=b[j];
}
b[i]=max+1;
if (b[i]>mx)
{
mx=b[i];
p=i;
}
}
printf("%d\n%d ",mx,a[p]);
mx--; u=a[p];
for (i=p+1; i<=n; i++)
{
if (a[i]>u && mx==b[i])
{
mx--;
printf("%d ",a[i]);
u=a[i];
}
}
return 0;
}