Cod sursa(job #2036670)

Utilizator alexandrainfoAlexandra Florea alexandrainfo Data 10 octombrie 2017 22:15:18
Problema Subsir 2 Scor 36
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <cstdio>
using namespace std;
FILE *f, *g;
int n,ma,maxi,i,k,j,v[5001],l[5001];
int main()
{f=fopen ("subsir2.in","r");
g=fopen ("subsir2.out","w");
fscanf (f,"%d",&n);
for (i=1;i<=n;++i)
fscanf (f,"%d",&v[i]);
l[n]=1;
for (i=n-1;i>=1;--i)
{ma=0;
for (j=i+1;j<=n;++j)
if (v[i]<v[j]&&l[j]>ma)
ma=l[j];
l[i]=ma+1;
}
maxi=k=0;
for (i=1;i<=n;++i)
if (l[i]>maxi)
maxi=l[i],k=i;
fprintf (g,"%d\n",maxi);
fprintf (g,"%d ",v[k]);
--maxi;
for (i=k+1;i<=n;++i)
if (l[i]==maxi&&v[k]<v[i])
{fprintf (g,"%d ",i);
k=i;
--maxi;
}
fprintf (g,"\n");
return 0;
}