Pagini recente » Cod sursa (job #351241) | Cod sursa (job #2475237) | Cod sursa (job #1671273) | Cod sursa (job #2469180) | Cod sursa (job #676015)
Cod sursa(job #676015)
#include<cstdio>
using namespace std;
int a[100],i,n;
int main()
{
int j,l[100],q=0,p=0,max=0,maxim=0;
FILE* f=fopen("scmax.in","r");
FILE* g=fopen("scmax.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;++i)
fscanf(f,"%d",&a[i]);
for(i=n;i>=1;--i)
{
max=0;
for(j=i+1;j<=n;++j)
if((a[j]>a[i])&&(l[j]>max))
max=l[j];
l[i]=max+1;
if(l[i]>maxim)
{
maxim=l[i];
p=i;
}
}
max=0;
for(i=1;i<=n;++i)
if(l[i]>max)
max=l[i];
fprintf(g,"%d \n",max);
fprintf(g,"%d ",a[p]);
q=l[p];
for(i=p+1;i<=n;++i)
if(a[i]>a[p]&&l[i]==q-1)
{
fprintf(g,"%d ",a[i]);
--q;
p=i;
}
}