Pagini recente » Cod sursa (job #2404318) | Cod sursa (job #748933) | Cod sursa (job #1267716) | Cod sursa (job #2886583) | Cod sursa (job #925217)
Cod sursa(job #925217)
#include <cstdio>
using namespace std;
FILE* fin= fopen("scmax.in","r");
FILE*fout=fopen("scmax.out","w");
unsigned int i,j,k,n,v[100002],p[100002],l[100002],lmax,poz;
int main()
{
fscanf(fin,"%d",&n);
for (i=1;i<=n;i++)
fscanf(fin,"%d",&v[i]);
for (i=1;i<=n;i++)
l[i]=1;
for(i=n-1;i>0;i--)
for (j=i+1;j<=n;j++)
if (v[j]>v[i]&&l[i]<l[j]+1)
{l[i]=l[j]+1;
if (l[i]>lmax)
{lmax=l[i];
poz=i;}
p[i]=j;}
while (p[poz]!=0)
{
fprintf(fout,"%d ",v[poz]);
poz=p[poz];
}
fprintf(fout,"%d\n",v[poz]);
return 0;
}