Cod sursa(job #2471135)

Utilizator bmarcuBogdan Marcu bmarcu Data 10 octombrie 2019 12:52:25
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.03 kb
#include <iostream>
#include <cmath>

using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[1000000];

int main () {
    int n;
    fin >> n;
    for (int i = 1; i <= n; i++)
        fin >> v[i];


    int lmax = 0, l = 0, ok = 1;
    int b, e;
    int endmax, begmax;
    for (int i = 1; i <= n; i++) {
        //cout << v[i - 1] << ' ' << v[i] << ' ' << ok << endl;
        if (v[i] >= v[i-1]) {
            if (ok == 1) {
                ok = 0;
                l++;
                b = i - 1;
            }
            else
                l++;
        //cout << l << endl;
        }
        if (v[i] < v[i-1] || i == n) {
            ok = 1;
            //cout << l << endl;
            if (l > lmax) {
                lmax = l;
                endmax = i;
                begmax = b;
            }
            l = 0;
        }
    }

    fout << lmax << endl;
    for (int i = begmax ; i <= endmax; i++)
        if (v[i] != v[i - 1])
            fout << v[i] << ' ';
}