Pagini recente » Cod sursa (job #2130804) | Cod sursa (job #433879) | Cod sursa (job #1640833) | Cod sursa (job #3157464) | Cod sursa (job #1426974)
#include<iostream>
#include<fstream>
using namespace std;
fstream fin("scmax.in",ios::in),fout("scmax.out",ios::out);
int v[100001],d[100001],poz[100001],final[100001];
int main()
{
int n,i,j,maxim=-99999999,pozmax,maximm=-99999999,ceva=1;
fin>>n;
for(i=1;i<=n;i++)
{
fin>>d[i];
maxim=0;
for(j=i;j>0;j--)
{
if(v[j]>maxim&&d[j]<d[i])
{
maxim=v[j];
poz[i]=j;
}
}
v[i]=maxim+1;
if(v[i]>maximm)
{
maximm=v[i];
pozmax=i;
}
}
while(pozmax!=0)
{
final[ceva++]=d[pozmax];
pozmax=poz[pozmax];
}
fout<<ceva-1<<"\n";
for(i=ceva-1;i>0;i--)
{
fout<<final[i]<<" ";
}
fout.close();
fin.close();
return 0;
}