#include "lib.hpp" #include "prelude.hpp" #include #include using namespace std; /* function unseq(lst::Vector{<:Integer})::Vector{Integer} acc = [] for (idx, elem) ∈ enumerate(lst) l, r = splitat(acc, elem) acc = [l;[idx];r] end acc end */ fn from_indices(Vec lst) -> Vec { cout << format("lst: "); for (let e : lst) cout << e << ' '; cout << endl; Vec acc; for (let [idx, elem] : std::views::enumerate(lst)) { var left = Vec(acc.begin(), acc.begin() + elem); cout << format("left: "); for (let e : left) cout << e << ' '; cout << endl; let right = Vec(acc.begin() + elem, acc.end()); cout << format("right: "); for (let e : right) cout << e << ' '; cout << endl; left.push_back(idx); left.insert(left.end(), right.begin(), right.end()); cout << "both: "; for (let e : left) cout << e << ' '; cout << endl; } return acc; }