Pagini recente » Cod sursa (job #2915091) | Atasamentele paginii Clasament aleswxx- | Cod sursa (job #3041721) | Cod sursa (job #1815845) | Cod sursa (job #1649240)
#include <cstdio>
#define dimax 100000
using namespace std;
int main()
{
int h=0,solutie[dimax],k,v[dimax],best[dimax],lenmax=-1,i,j,n;
FILE *f=fopen("scmax.in","r"), *l=fopen("scmax.out","w");
fscanf(f,"%i",&n);
for(i=0;i<n;i++)
fscanf(f,"%i",&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,"%i\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,"%i ",solutie[g]);
fprintf(l,"\n");
return 0;
}