#include <array>
#include <utility>
#include <iostream>
template <std::size_t N, std::size_t ... Is>
std::array<char, N - 1> to_array(const char (&a)[N], std::index_sequence<Is...>)
{
return {{a[Is]...}};
}
template <std::size_t N>
std::array<char, N - 1> to_array(const char (&a)[N])
{
return to_array(a, std::make_index_sequence<N - 1>());
}
int main() {
std::array<char, 5> a = to_array("hello");
for (auto c: a) {
std::cout << c;
}
}
I2luY2x1ZGUgPGFycmF5PgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGUgPHN0ZDo6c2l6ZV90IE4sIHN0ZDo6c2l6ZV90IC4uLiBJcz4Kc3RkOjphcnJheTxjaGFyLCBOIC0gMT4gdG9fYXJyYXkoY29uc3QgY2hhciAoJmEpW05dLCBzdGQ6OmluZGV4X3NlcXVlbmNlPElzLi4uPikKewogICAgcmV0dXJuIHt7YVtJc10uLi59fTsKfQoKdGVtcGxhdGUgPHN0ZDo6c2l6ZV90IE4+CnN0ZDo6YXJyYXk8Y2hhciwgTiAtIDE+IHRvX2FycmF5KGNvbnN0IGNoYXIgKCZhKVtOXSkKewogICAgcmV0dXJuIHRvX2FycmF5KGEsIHN0ZDo6bWFrZV9pbmRleF9zZXF1ZW5jZTxOIC0gMT4oKSk7Cn0KCmludCBtYWluKCkgewoJc3RkOjphcnJheTxjaGFyLCA1PiBhID0gdG9fYXJyYXkoImhlbGxvIik7CgkKCWZvciAoYXV0byBjOiBhKSB7CgkJc3RkOjpjb3V0IDw8IGM7Cgl9Cn0=