Cod sursa(job #1909340)

Utilizator D3XT3RY0NuTCirstea Ioan Cristian D3XT3RY0NuT Data 7 martie 2017 12:23:04
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;

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

int N, k, nr;
bool ok;
int a[100000];
int v[100000];

int main(){
    f >> N;
    for (int i = 0; i < N; i++){
        f >> a[i];
    }
    k = 1 << N;
    for (int i = k - 1; i > 0; i--){
        nr = 0;
        for (int j = 0; j < N; j++){
            if (i & (1 << j)){
                v[nr++] = a[j];
            }
        }
        ok = true;
        for (int i = 1; i < nr && ok; i++){
            if (v[i - 1] >= v[i])
                ok = false;
        }
        if (ok)
            i = 0;
    }
    g << nr << "\n";
    for (int i = 0; i < nr; i++)
        g << v[i] << " ";

    return 0;
}