Pagini recente » Cod sursa (job #349066) | Cod sursa (job #1714100) | Cod sursa (job #2359592) | Cod sursa (job #864238) | Cod sursa (job #1610819)
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[100001],sol[100001],zis[100001],n;
void calc(int x)
{
int maxx=0,i;
for(i=x;i<=n;i++)
if(v[i]>v[x])
{
calc(i);
if(sol[i]>maxx)
maxx=sol[i];
}
sol[x]=1+maxx;
}
int main()
{
int i,maxx=0;
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
for(i=1;i<=n;i++)
calc(i);
for(i=1;i<=n;i++)
if(sol[i]>maxx)
maxx=sol[i];
g<<maxx<<"\n";
for(i=1;i<=n;i++)
{
if(sol[i]==maxx)
{
g<<v[i]<<" ";
maxx--;
}
}
return 0;
}