Cod sursa(job #1800198)

Utilizator sarpe123Iancu Alexandru sarpe123 Data 7 noiembrie 2016 15:25:17
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("sub.in");
ofstream g("sub.out");

int n,i,a[1000],v[1000],j,Max;
int k,indice,v2[100001],u;
int main()
{
    f>>n;
    for(i=0;i<n;++i)
        f>>a[i];
    v[0]=1;
    for(i=1;i<n;++i){
        j=i;
    Max=0;
    for(j=i;j>=0;j--){
        if(a[j]<a[i] && Max<v[j]){
            Max=v[j];
        }
    }
    v[i]=Max+1;
    }
    Max=0;
    for(i=0;i<n;i++){
        if (Max<v[i]){
            Max=v[i];
            indice=a[i];
            u=i;
        }
    }
    v2[0]=indice;
    k=1;
    for(i=u-1;i>=0;i--){
        if(a[i]<indice && v[i]==v[u]-1){
            v2[k]=a[i];
            k++;
            indice=a[i];
            u=i;
        }
    }
    g<<Max<<endl;
for(i=k-1;i>=0;i--)
        g << v2[i]<< ' ';
    return 0;
}