Cod sursa(job #2483021)

Utilizator twiliamioanToader Wiliam Ioan twiliamioan Data 29 octombrie 2019 10:12:10
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <fstream>

using namespace std;

int main(){
    ifstream fin("scmax.in");
    ofstream fout("scmax.out");
    long long int v[100000], n;
    long long prev_p = 0, p = 0, prev, mf, me, m=-1, r=0, rm =0;
    fin >> n;
    for(int i = 0; i < n; i++){
        fin >> v[i];
    }

    for(int i = 0; i < n - 1; i++){
        if(v[i] >= v[i+1]){p = i+1;r = 0;}
        if(v[i] == v[i+1]) r++;
        if(p - prev_p +1 >= m){ m = p - prev_p +1; mf = prev_p; me = p+1;}
        prev_p = p;
    }


    if(m > -1)for(int i = mf; i <= me; i++) {
        if(i != me && v[i] != v[i+1]){rm++;}
        else if(i == me){rm++;}
    }
    fout << rm << endl;
    if(m > -1)for(int i = mf; i <= me; i++) {
        if(i != me && v[i] != v[i+1]){fout << v[i] << ' ';}
        else if(i == me){fout << v[i] << ' ';}
    }
    fin.close();
    fout.close();
    return 0;
}