Pagini recente » Cod sursa (job #2454671) | Cod sursa (job #2729735) | Cod sursa (job #1144093) | Cod sursa (job #2252047) | Cod sursa (job #649191)
Cod sursa(job #649191)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int **mat,ulti,n,aux,i,j,lmax=0,lc,ult,ilmax=0;
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%i",&n);
mat=(int **)malloc(n*sizeof(int *));
for(i=0;i<n;i++)
{
mat[i]=(int *)malloc(2*sizeof(int));
mat[i][0]=i+1;
scanf("%i",&mat[i][1]);
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(mat[i][1]>mat[j][1])
{
aux=mat[i][0];
mat[i][0]=mat[j][0];
mat[j][0]=aux;
aux=mat[i][1];
mat[i][1]=mat[j][1];
mat[j][1]=aux;
}
}
for(i=0;i<n-1;i++)
{
lc=1;
ult=mat[i][1];
ulti=mat[i][0];
for(j=i+1;j<n;j++)
if(mat[j][0]>ulti)
if(mat[j][1]!=ult)
{
ult=mat[j][1];
ulti=mat[j][0];
lc++;
}
if(lc>lmax)
{
lmax=lc;
ilmax=i;
}
}
printf("%i\n",lmax);
printf("%i ",mat[ilmax][1]);
ult=mat[ilmax][1];
ulti=ilmax;
for(i=ilmax+1;i<n;i++)
if(mat[i][0]>ulti)
if(mat[i][1]!=ult)
{
ult=mat[i][1];
ulti=mat[i][0];
printf("%i ",mat[i][1]);
}
return 0;
}