Pagini recente » Cod sursa (job #2200553) | Cod sursa (job #2461939) | Cod sursa (job #1251461) | Cod sursa (job #2864467) | Cod sursa (job #645478)
Cod sursa(job #645478)
#include<stdio.h>
int b[100000];
int cautare(int x,int nr)
{
int max=32000,c=-1;
for(int i=0;i<nr;i++)
if(b[i]>=x && b[i]<=max)
{
c=i;
max=b[i];
}
if(c==-1)
return nr;
return c;
}
int main()
{
int a[100000],p[100000],n,i,j,k,nr=1;
FILE *f=fopen("scmax.in","rt");
FILE *g=fopen("scmax.out","wt");
fscanf(f,"%i",&n);
for(i=0;i<n;i++)
fscanf(f,"%i",&a[i]);
b[0]=a[0];
p[0]=1;
for(i=1;i<n;i++)
{
k=cautare(a[i],nr);
p[i]=k;
if(k==nr)
{
b[nr]=a[i];
nr++;
}
else
b[k]=a[i];
}
fprintf(g,"%i\n",nr);
for(i=0;i<nr;i++)
fprintf(g,"%i ",b[i]);
}