Pagini recente » Cod sursa (job #2790244) | Cod sursa (job #1433868) | Cod sursa (job #1900431) | Cod sursa (job #412875) | Cod sursa (job #803312)
Cod sursa(job #803312)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,v[100002],lun[100002],pre[100002],predecesor,maxim1,lm,poz,elemente,i;
void afisare(int n, int elemente)
{
if (elemente>=0)
{
if (pre[n]!=0) afisare(pre[n],elemente-1);
g<<v[n]<<" ";
}
}
void maxim(int n)
{
int i;
maxim1=0;
for (i=1;i<=n-1;i++)
{
if (v[i]<v[n])
if (lun[i]>=maxim1)
{
maxim1=lun[i];
predecesor=i;
}
}
}
int main()
{
f>>n;
f>>v[1];
lun[1]=1;
pre[1]=0;
lm=1;
for (i=2;i<=n;i++)
{
f>>v[i];
maxim(i);
lun[i]=1+maxim1;
pre[i]=predecesor;
if(lun[i]>=lm)
{
lm=lun[i];
poz=i;
}
}
g<<lm<<" "<<endl;
afisare(poz,lm);
}