Cod sursa(job #1007812)

Utilizator StefansebiStefan Sebastian Stefansebi Data 9 octombrie 2013 19:36:44
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[10000], i, j, best[10000], n, maxi;

int main(){
    fin >> n;
    for (i = 1; i <= n; i++)
        fin >> v[i];
    for (i = 1; i <= n; i++)
        best[i] = 1;
    for (i = n - 1; i >= 1; i--){
        for (j = i + 1; j <= n; j++){
            if (v[i] < v[j] and best[i] <= best[j]){
                best[i] = best[j] + 1;
                if (best[i] > maxi)
                    maxi = best[i];
            }
        }
    }

    fout << maxi << '\n';
    for (i = 1; i <= n; i++)
        if (best[i] == maxi){
            fout << v[i] << " ";
            maxi--;
        }
}