Cod sursa(job #2545529)

Utilizator arckerDolteanu Gabriel arcker Data 13 februarie 2020 11:24:30
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>
using namespace std;

int v[100002];

int main(){
    ifstream cin("scmax.in");
    ofstream cout("scmax.out");
    int n, t = 0, last = -1, ans = 0;
    cin >> n;
    vector <int> sol;
    for(int i = 1; i <= n; ++i)
        cin >> v[i];
    for(int mask = 1; mask < (1 << n); ++mask){
        last = 0, t = 0;
        vector <int> temp;
        for(int i = 0; i < n; ++i)
            if(((mask >> i) & 1) && v[i + 1] > last)
                ++t, last = v[i + 1], temp.push_back(v[i + 1]);
        if(t > ans)
            sol.assign(temp.begin(), temp.end()), ans = t;
    }
    cout << ans << '\n';
    for(auto &c: sol)
        cout << c << ' ';
    cin.close(), cout.close();
}