Cod sursa(job #2391230)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 28 martie 2019 18:42:55
Problema Subsir crescator maximal Scor 15
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.35 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, v[100001], w, l, c, k, st, dr, lsol;

int main (){

      fin>>n;

      fin>>c;

      w=1;
      v[w]=c;

      for(int i=2; i<=n; i++){
            fin>>k;
            if(k != c){
                  w++;
                  v[w]=k;
            }
            c=k;
      }

      l=1;
      lsol=0;
      for(int i=2; i<=n; i++){
            if(v[i] > v[i-1])
                  l++;
            else{
                  if(l > lsol){
                        lsol=l;
                        dr=i-1;
                        st=i-l;
                  }
                  l=1;
            }
      }

      if(l > lsol){
            lsol=l;
            dr=n-1;
            st=n-l;
      }

      l=1;
      for(int i=n-1; i>=1; i--){
            if(v[i] > v[i+1])
                  l++;
            else{
                  if(l > lsol){
                        lsol=l;
                        dr=i+l;
                        st=i+l;
                  }
                  l=1;
            }
      }

      if(l > lsol){
            lsol=l;
            dr=n;
            st=n-l+1;
      }

      fout<<lsol<<"\n";

      for(int i=st; i<=dr; i++)
            fout<<v[i]<<" ";

      return 0;
}