Cod sursa(job #2175824)

Utilizator SaphyrosMarcus Sergiu David Saphyros Data 16 martie 2018 19:17:15
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include <fstream>

using namespace std;

ifstream fin("scmax.in");
ofstream fout("scmax.out");

int n, arr[100005];

void solve();

int main()
{

    fin >> n;
    for (int i = 0; i < n; i++)
    {
        fin >> arr[i];
    }

    solve();

    return 0;
}

void solve()
{
    int mxLen = -1, len, mxPos = -1, prev;
    for (int i = 0; i < n; i++)
    {
        prev = arr[i];
        len = 1;
        for (int j = i; j < n; j++)
        {
            if (arr[j] > prev)
            {
                len++;
                prev = arr[j];
                if (len > mxLen && prev > mxPos)
                {
                    mxLen = len;
                    mxPos = i;
                }
            }
        }
    }
    fout << mxLen << "\n";
    prev = arr[mxPos];
    fout << prev << " ";
    for (int i = mxPos+1; i < n; i++)
    {
        if (arr[i] > prev)
        {
            fout << arr[i] << " ";
            prev = arr[i];
        }
    }
}