Cod sursa(job #415912)

Utilizator ClasianMunteanu Petre Clasian Data 11 martie 2010 22:26:18
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream.h>
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,max,pmax,mx,v[100000],d[100000],pd[100000],i,j;
void afis(int i)
{ if(d[i])afis(d[i]);
  g<<v[i]<<' ';
}
int main()
{ f>>n;
  for(i=1;i<=n;i++) { f>>v[i];
					  mx=0;
					  for(j=i-1;j;j--)if(v[j]<v[i]&&pd[j]>mx)mx=pd[j],d[i]=j;
					  pd[i]=1+mx;
					  if(max<pd[i])max=pd[i],pmax=i;
					}
  g<<max<<'\n';
  afis(pmax);
  f.close();
  g.close();
  return 0;
}