Cod sursa(job #1814800)

Utilizator testepbSorin Popa testepb Data 24 noiembrie 2016 16:12:00
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
using namespace std;
ofstream g("scmax.out");
ifstream f("scmax.in");
long long n,v[100],x[100],l[100],maxim,poz;
void citire()
{   f>>n; for(int i=1;i<=n;i++) {f>>v[i]; x[i]=i;} l[n]=1;   }
void afisare()
{   for(int i=1;i<=n;i++) g<<v[i]<<" "<<x[i]<<" "<<l[i]<<endl; g<<endl;  }
void lung()
{   int i,ma,j;
    for(i=n-1;i>0;i--)
    {   ma=0;
        for(j=i+1;j<=n;j++)
            if(l[j]>ma&&v[j]>v[i]) ma=l[j];
        l[i]=ma+1; if(l[i]>maxim) {maxim=l[i]; poz=i;}
}}
void afisaresubsir()
{   int i,j=poz; g<<maxim<<endl;
    for(i=poz;i<=n;i++)
        if(l[i]==maxim&&v[i]>=v[j])
            { g<<v[i]<<" "; j=i; maxim--;}}
int main()
{   citire(); lung(); afisaresubsir();
    return 0;}