Cod sursa(job #1864374)

Utilizator BlueCodeMihalache Catalin Alexandru BlueCode Data 31 ianuarie 2017 18:46:34
Problema Subsir crescator maximal Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[100010],q[100010],p[100010];
int lq;
int n;
int i,j;
bool ok;
int main()
{  f>>n;
  for(i=1;i<=n;i++)
    f>>v[i];
  q[1]=v[1];lq=1;p[1]=1;
  for(i=2;i<=n;i++)
  {  ok=0;
      for(j=1;j<=lq;j++)
      if(v[i]<q[j]){q[j]=v[i];p[i]=j;ok=1;break;}
        else if(v[i]==q[j]){ok=1;break;}
       if(ok==0)lq++,q[lq]=v[i],p[i]=lq;
  }
  g<<lq<<'\n';
  for(i=1;i<=lq;i++)
  {for(j=n;j>=1;j--)
   if(p[j]==i){cout<<v[i]<<" ";break;}
  }

}