Cod sursa(job #1371562)

Utilizator serbanSlincu Serban serban Data 3 martie 2015 22:17:32
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 1.14 kb
#include <iostream>
#include <fstream>

using namespace std;

int n,m,a[10005],b[10005],mxa,mxb;
int la[10005],lb[10005],pa[10005],pb[10005];

int main()
{
    int i,j,k=0;
   /* FILE *f=fopen("interclasare.in","r");
    FILE *g=fopen("interclasare.out","w");
*/
    FILE *f=fopen("scmax.in","r");
    FILE *g=fopen("scmax.out","w");

    fscanf(f,"%d",&n);
    for(i=1;i<=n;i++)
        fscanf(f,"%d",&a[i]);
    /*fscanf(f,"%d",&m);
    for(i=1;i<=m;i++)
        fscanf(f,"%d",&b[i]);
*/
    la[n]=1;
    for(i=n-1;i>=1;i--)
    {
        k=0;
        for(j=i+1;j<=n;j++)
            if(a[i]<a[j])
                if(k<la[j])
                    k=la[j];
        la[i]=k+1;
        if(la[i]>mxa)
            mxa=la[i];
    }
/*
    lb[n]=1;
    for(i=m-1;i>=1;i--)
    {
        k=0;
        for(j=i+1;j<=m;j++)
            if(b[i]<=b[j])
                if(k<lb[j])
                    k=lb[j];
        lb[i]=k+1;
        if(lb[i]>mxb)
            mxb=lb[i];
    }
*/
    fprintf(g,"%d\n",mxa+mxb);

    /*
    for(i=1;i<=n+m;i++)
        fprintf(g,"%d ",X[i]);
    */
    fprintf(g,"\n");
    return 0;
}