Cod sursa(job #1857346)

Utilizator ioan_cernovshi00Cernovschi Ioan ioan_cernovshi00 Data 26 ianuarie 2017 08:33:19
Problema Subsir crescator maximal Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
long n,i,j,maxx,poz,lung[200000000];
long double a[100];
void citire(long &n,long double a[20000000])
{
    f>>n;
    for(int i=1;i<=n;i++)
        f>>a[i];
}
int main()
{
    citire(n,a);
    lung[n]=1;
    for(i=n-1;i>=1;i--)
        {
            maxx=0;
         for(j=i+1;j<=n;j++)
         {
             if(a[i]<a[j])
            if(maxx<lung[j])
            maxx=lung[j];}
            lung[i]=maxx+1;
            }
    maxx=lung[0];
    poz=0;
    for(i=1;i<=n;i++)
                {if(maxx<lung[i])
                {maxx=lung[i];
                poz=i;}}
    g<<maxx<<endl;
    g<<a[poz]<<" ";
    for(i=poz+1;i<=n;i++)
        {if(lung[i]==maxx-1 && a[i]>=a[poz])
            {g<<a[i]<<" ";
            poz=i;
            maxx=maxx-1;}}
    return 0;
}