Pagini recente » Cod sursa (job #631796) | Cod sursa (job #1675741) | Cod sursa (job #1145263) | Cod sursa (job #2280732) | Cod sursa (job #2368059)
#include <cstdio>
#define N 100002
using namespace std;
FILE *f,*g;
int v[N],lg[N],pred[N],imax=1;
void afis(int poz)
{
if(poz)
{
afis(pred[poz]);
fprintf(g,"%d ",v[poz]);
}
}
int main()
{
f=fopen("scmax.in","r");
g=fopen("scmax.out","w");
int n;
fscanf(f,"%d",&n);
fscanf(f,"%d",&v[1]);
lg[1]=1;
for(int i=2;i<=n;++i)
{
fscanf(f,"%d",&v[i]);
lg[i]=1;
for(int j=1;j<i;++j)
if(v[j]<v[i] && lg[i]<lg[j]+1)
lg[i]=lg[j]+1,pred[i]=j;
if(lg[imax]<lg[i])
imax=i;
}
fprintf(g,"%d\n",lg[imax]);
afis(imax);
fclose(f);
fclose(g);
return 0;
}