Pagini recente » Cod sursa (job #1446742) | Cod sursa (job #1936654) | Cod sursa (job #2802666) | Cod sursa (job #2982283) | Cod sursa (job #1649203)
#include <cstdio>
using namespace std;
int main()
{
long 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,"%Id64",&n);
for(i=0;i<n;i++)
fscanf(f,"%Id64",&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,"%Id64\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,"%Id64 ",solutie[g]);
return 0;
}