Cod sursa(job #1526094)

Utilizator CidanielCraciun Ioan Daniel Cidaniel Data 15 noiembrie 2015 22:22:55
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.29 kb
#include <fstream>

using namespace std;

int main()
{
    ifstream f ("scmax.in");
    ofstream g ("scmax.out");
    int l[101]={1}, v[100], i, n, j, a, c[100], Max=0, Maxi, b;
    f>>n;
    l[101]=-1;
    for (i=0; i<n; i++)
        {
            f>>v[i];
        }
    for (i=0; i<n; i++)
        {
            l[i]=1;
        }
    for (i=0; i<n; i++)
        {
            a=v[i];
            for (j=i-1; j>=0; j--)
                {
                    if (v[j]<a)
                        {
                            l[i]++;
                            a=v[j];
                        }
                }
            if (l[i]>Max)
                {
                    Max=l[i];
                    Maxi=i;
                }
        }
    i=n-1;
    do
        {
            if (l[i]==Max)
                {
                    Maxi=i;
                }
            i--;
        }
    while (l[i]-Max);
    a=Max;
    b=10000;
    for (i=Maxi; i>=0; i--)
        {
            if ((l[i]==a)&&(v[i]<b))
                {
                    c[a]=v[i];
                    a--;
                    b=v[i];
                }
        }
    for (i=1; i<=Max; i++)
        {
            g<<c[i]<<' ';
        }
    f.close();
    g.close();
    return 0;
}