Cod sursa(job #868872)
Utilizator | zurzic zeljko zurzic_doru | Data | 31 ianuarie 2013 18:37:54 |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include<stdio.h>
int main()
{
int i,n,v[100000],v2[100000],aux=0,poz,j,pp,max;
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
v2[n]=1;
for(i=n-1;i>=1;i--)
{
max=0;
for(j=i+1;j<=n;j++)
if(v2[j]>max&&v[j]>v[i])
max=v2[j];
if(pp==0)
v2[i]=v2[poz]+1;
else
v2[i]=1;
v2[i]=max+1;
if(v2[i]>aux)
aux=v2[i];
}
printf("%d\n",aux);
for(i=1;i<=n;i++)
if(v2[i]==aux)
{
printf("%d ",v[i]);
aux--;
}
return 0;
}