Pagini recente » Cod sursa (job #3231569) | Cod sursa (job #1366255) | Cod sursa (job #1113483) | Cod sursa (job #1708689) | Cod sursa (job #1112043)
#include<stdio.h>
using namespace std;
FILE *f=fopen("scmax.in","r");
FILE *g=fopen("scmax.out","w");
int n,v[100001],i,j,l[100001],lmax,lpoz,k,ok;
int main()
{
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
l[n]=1;
lmax=1;
lpoz=n;
for(i=n-1;i>=1;i--)
{
ok=0;
l[i]=1;
for(j=i+1;j<=n&&!ok;j++)
{
if(v[j]>v[i])
{
l[i]=l[j]+1;
ok=1;
}
}
if(l[i]>lmax)
{
lmax=l[i];
lpoz=i;
}
}
fprintf(g,"%d\n%d ",lmax,v[lpoz]);
k=lmax;
i=lpoz;
while(i<=n&&k>0)
{
j=i+1;
ok=0;
while(j<=n&&!ok)
{
if(v[j]>v[i]&&l[j]==k-1)
{
ok=1;
k--;
fprintf(g,"%d ",v[j]);
}
j++;
}
i++;
}
fclose(f);
fclose(g);
return 0;
}