Cod sursa(job #1436623)

Utilizator cristi26Cristian Coman cristi26 Data 16 mai 2015 10:52:33
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <cstdio>

using namespace std;
int j,i,n,v[100005],l[100005],poz,k,Max;
int main()
{
    freopen("scmax.in","r",stdin);
    freopen("scmax.out","w",stdout);
   scanf("%d",&n);
   for(i=1;i<=n;i++)
    scanf("%d",&v[i]);
   l[n]=1;
   for(i=n-1;i>=1;i--)
   {
       Max=0;
       for(j=i+1;j<=n;j++)
        if((v[i]<v[j]) && (l[j]>Max))
           Max=l[j];
           l[i]=Max+1;
   }

   Max=l[1];
   k=1;
   for(i=1;i<=n;i++)
    if(Max<l[i])
   {
       Max=l[i];
       k=i;
   }
  printf("%d\n",Max);
   printf("%d ",v[k]);
   for(i=k+1;i<=n;i++)
    if(l[i]==Max-1 && v[i]>v[k])
   {
       printf("%d ",v[i]);
       Max=Max-1;

   }

    return 0;
}