Pagini recente » Borderou de evaluare (job #1388164) | Borderou de evaluare (job #191289) | Borderou de evaluare (job #1830640) | Borderou de evaluare (job #2714071) | Cod sursa (job #905570)
Cod sursa(job #905570)
#include <cstdio>
FILE *f=fopen("scmax.in","r");
FILE *g=fopen("scmax.out","w");
int v[100000],lung[100000],poz[100000];
int n,i,j,max,p;
int main()
{
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
max=1;
lung[n]=1;
for(i=n-1;i>=1;i--)
{
lung[i]=1;
for(j=i+1;j<=n;j++)
if(v[i]<v[j])//crescator
if(lung[i]<lung[j]+1)
{
lung[i]=lung[j]+1;
poz[i]=j;
}
if(lung[i]>max)
{
max=lung[i];
p=i;
}
}
fprintf(g,"%d\n%d ",max,v[p]);
for(i=1;i<max;i++)
{
p=poz[p];
fprintf(g,"%d ",v[p]);
}
fclose(f);
fclose(g);
return 0;
}