Cod sursa(job #1369246)

Utilizator VladTiberiuMihailescu Vlad Tiberiu VladTiberiu Data 2 martie 2015 22:57:38
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>

using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,mx,poz;
int a[100010],d[100010];
int main()
{
    f >> n;
    for(int i = 1; i <= n; i++){
        f >> a[i];
    }
    for(int i = n; i >= 1; i--){
        d[i] = 1;
        for(int j = i; j <= n; j++){
            if(a[j] > a[i] && d[i] <= d[j]){
                d[i] = d[j] + 1;
                if(d[i] > mx){
                    mx = d[i];
                    poz = i;
                }
            }
        }
    }
    g << mx <<"\n";
    for(int i = poz; i <= n; i++){
        if(d[i] == mx){
            g << a[i] <<" ";
            mx--;
        }
    }

    return 0;
}