Cod sursa(job #2346455)

Utilizator Alex221Dumitru Alexandru Alex221 Data 17 februarie 2019 18:31:30
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int i,j,n,maxi[100000],v[100000],nr,val,poznr;
stack <int> st;
int main()
{ f>>n;
  for(i=1;i<=n;i++)
        f>>v[i];
  for(i=1;i<n;i++)
   for(j=i+1;j<=n;j++)
     if(v[j]>v[i] && maxi[i]+1>maxi[j])
   maxi[j]=maxi[i]+1;
  for(i=1;i<=n;i++)
    if(maxi[i]>nr)
  { nr=maxi[i];
    poznr=i;
  }
  g<<nr+1<<'\n';
  for(i=poznr;i>=1;i--)
     if(maxi[i]==nr)
      { st.push(v[i]);
          nr--;
      }

  while(!st.empty())
  { g<<st.top()<<" ";
    st.pop();
  }
    return 0;
}