Cod sursa(job #2306844)

Utilizator andreea_g2011Giurgiu Andreea andreea_g2011 Data 23 decembrie 2018 00:41:37
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int aux[100],v2[100];
int cmmv(int i, int v[],int n)
{
   int  minn=2000001;
   int  p=0;
    for(int j=i+1;j<=n;j++)
      if(v[j]>v[i] && v[j]<minn )
      {
          minn=v[j];
          p=j;
      }


    return p;

}
int main()
{int n,v[100];
f>>n;
for(int i=1;i<=n;i++)
    f>>v[i];
int maxx=0,pmax=0;
for(int i=n;i>=1;i--)
{

  int  p=cmmv(i,v,n);
    if(p==0)
    {
        aux[i]=1;
        v2[i]=0;
    }
    else
    {
        aux[i]=aux[p]+1;
        v2[i]=p;
    }
    if(aux[i]>maxx)
    {
        maxx=aux[i];
        pmax=i;
    }


}
g<<maxx<<endl;
while(v2[pmax]!=0)
{
    g<<v[pmax]<<" ";
    pmax=v2[pmax];
}
g<<v[pmax];

    return 0;
}