Cod sursa(job #2490458)

Utilizator sims_glAlexandru Simion sims_gl Data 10 noiembrie 2019 12:26:47
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include<fstream>
using namespace std;
FILE *f,*g;
int n,v[100005],s[100005],pre[100005],ma,I;
int main ()
{
    f=fopen("scmax.in","r");
    g=fopen("scmax.out","w");
    fscanf(f,"%d",&n);
    for(int i=1;i<=n;i++)
    {
        fscanf(f,"%d",&v[i]);
    }
    for(int i=n;i>=1;i--)
    {
        s[i]=1;
        for(int j=n;j>i;j--)
        {
            if(v[j]>v[i] && s[j]+1>s[i])
            {
                s[i]=s[j]+1;
                pre[i]=j;
            }

        }
        if(ma<s[i])
            {
                I=i;
                ma=s[i];
            }
    }
    fprintf(g,"%d\n",ma);
    for(int i=ma;i>0;i--)
    {
        fprintf(g,"%d ",v[I]);
        I=pre[I];

    }
}