Cod sursa(job #1864435)

Utilizator BlueCodeMihalache Catalin Alexandru BlueCode Data 31 ianuarie 2017 19:21:05
Problema Subsir crescator maximal Scor 65
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;p[i]=j;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){g<<v[j]<<" ";break;}

  }


}