Cod sursa(job #1503435)

Utilizator refugiatBoni Daniel Stefan refugiat Data 16 octombrie 2015 08:19:05
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.08 kb
#include<iostream>
#include<fstream>
#include<bitset>
using namespace std;
const int NMAX=10003;
float rap[NMAX];
int cresc[NMAX];
int decr[NMAX];
int main()
{
    ifstream si;
    si.open("euro2.in");
    ofstream so;
    so.open("euro2.out");
    int n;
    si>>n;
    int i;
    for(i=1;i<=n;++i)
    {
        si>>rap[i];
    }
    int j;
    for(i=1;i<=n;++i)
    {
        cresc[i]=1;
        for(j=i-1;j;--j)
        {
            if(rap[i]>rap[j])
            {
                if(cresc[i]<cresc[j]+1)
                {
                    cresc[i]=cresc[j]+1;
                }
            }
        }
    }
    for(i=n;i;--i)
    {
        decr[i]=1;
        for(j=i+1;j<=n;++j)
        {
            if(rap[i]>rap[j])
            {
                if(decr[i]<decr[j]+1)
                {
                    decr[i]=decr[j]+1;
                }
            }
        }
    }
    int maxx=0;
    for(i=1;i<=n;++i)
    {
        maxx=max(maxx,decr[i]+cresc[i]-1);
    }
    so<<maxx<<'\n';
    so.close();
    si.close();
    return 0;
}