Cod sursa(job #2485950)

Utilizator FasoleboiTudor Gadalean Fasoleboi Data 2 noiembrie 2019 10:50:21
Problema Subsir crescator maximal Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;

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

int n, i, a[100001], b[100001], nr, k;

void scm(){
    b[1]=1;
    for(i=2;i<=n;i++){
        if(a[i]>a[i-1]){
            b[i] = b[i-1] + 1;
        }else if(a[i]<a[i-1]){
            b[i]=1;
        }else{
            b[i]=b[i-1];
        }
        k++;
        if(b[i]==b[i-1]){
            a[k]=min(a[i], a[i-1]);
        }else{
            a[k]=a[i];
        }
        if(b[i]>nr){
            nr=b[i];
        }
    }
    a[nr]=a[i-1];
}

int main()
{
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>a[i];
    }
    scm();
    fout<<nr<<'\n';
    for(i=1;i<=nr;i++){
        fout<<a[i]<<" ";
    }
    return 0;
}