Cod sursa(job #485404)

Utilizator Viva12Ferentz Sergiu Viva12 Data 18 septembrie 2010 11:54:01
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.37 kb
#include <cstdio>

using namespace std;
int a[100020],s1[100020],s2[100020],n,maxi,l,k1,k[500];
int main()
{
    freopen("scmax.in","r",stdin);
    freopen("scmax.out","w",stdout);
        scanf("%d",&n);
            for (int i=0;i<n;i++)
                scanf("%d",&a[i]);
            int j=0;
            for (int i=0;i<n;i++)
            {
                int max=200000000;
                    for (int j=0;j<=1;j++)
                    {
                        if(s1[j]<max)
                        {
                            max=s1[j];
                            maxi=j;
                        }
                    }
                    if(max==200000000)
                    {
                        s1[l]=a[i];
                        s2[i]=l;
                        l++;
                    }
                    else
                    {
                        s1[maxi]=a[i];
                        s2[i]=maxi;
                    }

                }
            printf("%d\n",l);
            l--;
            for(int i=n-1;i>=0;i--)

                if(s2[i]==l)
                {
                    k[k1]=a[i];
                    k1++;
                    l--;
                }
            for(int i=k1-1;i>=0;i--)
                {
                    printf("%d",k[i]);

                }





    return 0;
}