Pagini recente » Info Oltenia 2018 Proba Individuala | Cod sursa (job #531705) | Cod sursa (job #1791203) | Cod sursa (job #2852375) | Cod sursa (job #1570105)
#include <cstdio>
FILE *f=fopen("scmax.in","r");
FILE *g=fopen("scmax.out","w");
using namespace std;
int n,mx,k,a[100001],i,l[100001];
void solve()
{
int i,j;
l[n]=1;
for (i=n-1;i>=1;i--)
{
mx=0;
for (j=i+1;j<=n;j++)
if (l[j]>mx && a[i]<a[j])
mx=l[j];
l[i]=mx+1;
}
mx=0;
for (i=1;i<=n;i++)
if (l[i]>mx)
{
mx=l[i];
k=i;
}
}
void afis()
{
int i,j;
fprintf(g,"%d\n",mx);
for (i=k;i<=n && mx;i++)
if (l[i]==mx)
{
fprintf(g,"%d ",a[i]);
mx--;
}
}
int main()
{
fscanf(f,"%d",&n);
for (i=1;i<=n;i++)
fscanf(f,"%d",&a[i]);
solve();
afis();
fclose(f);
fclose(g);
return 0;
}