Pagini recente » Cod sursa (job #1810735) | Cod sursa (job #2479746) | Autentificare | Cod sursa (job #2044204) | Cod sursa (job #1649184)
#include <cstdio>
using namespace std;
int main()
{
long int h=0,solutie[500],k,v[500],best[500],lenmax=-1,i,j,n;
FILE *f=fopen("scmax.in","r"), *l=fopen("scmax.out","w");
fscanf(f,"%li",&n);
for(i=0;i<n;i++)
fscanf(f,"%li",&v[i]);
for(i=0;i<n;i++)
best[i]=1;
for(i=0;i<n;i++)
for(j=0;j<i;j++)
if((v[i]>v[j])&&(best[i]<best[j]+1))
{
best[i]=best[j]+1;
if(lenmax<best[i])
{
lenmax=best[i];
k=i;
}
}
fprintf(l,"%li\n",lenmax);
for(i=k-1;i>=0;i--)
{
if(best[i]+1==lenmax)
{
solutie[++h]=v[i]; //printf("%i ",v[i]);
lenmax--;
}
}
solutie[0]=v[k];
for(int g=h;g>=0;g--)
fprintf(l,"%li ",solutie[g]);
return 0;
}