Pagini recente » Cod sursa (job #84521) | Cod sursa (job #765273) | Cod sursa (job #501017) | Cod sursa (job #2596457) | Cod sursa (job #2490458)
#include<fstream>
using namespace std;
FILE *f,*g;
int n,v[100005],s[100005],pre[100005],ma,I;
int main ()
{
f=fopen("scmax.in","r");
g=fopen("scmax.out","w");
fscanf(f,"%d",&n);
for(int i=1;i<=n;i++)
{
fscanf(f,"%d",&v[i]);
}
for(int i=n;i>=1;i--)
{
s[i]=1;
for(int j=n;j>i;j--)
{
if(v[j]>v[i] && s[j]+1>s[i])
{
s[i]=s[j]+1;
pre[i]=j;
}
}
if(ma<s[i])
{
I=i;
ma=s[i];
}
}
fprintf(g,"%d\n",ma);
for(int i=ma;i>0;i--)
{
fprintf(g,"%d ",v[I]);
I=pre[I];
}
}