#include <iostream>
#include <algorithm>
#include <ctime>
#include <cstdlib>
#include <iterator>
template<typename i_t, typename functor_t>
void compute(i_t start, i_t end, functor_t f)
{
std::for_each(start, end, [&](decltype(*start) &a){a = f();});
}
int main()
{
std::srand(std::time(0));//Wieso kann Scheiß-Ideone kein nullptr?
std::vector<int> a(5);
compute(a.begin(), a.end(), [](){return rand() % 3;});
std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout));
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZSA8aXRlcmF0b3I+Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBpX3QsIHR5cGVuYW1lIGZ1bmN0b3JfdD4Kdm9pZCBjb21wdXRlKGlfdCBzdGFydCwgaV90IGVuZCwgZnVuY3Rvcl90IGYpCnsKICAgIHN0ZDo6Zm9yX2VhY2goc3RhcnQsIGVuZCwgWyZdKGRlY2x0eXBlKCpzdGFydCkgJmEpe2EgPSBmKCk7fSk7Cn0KaW50IG1haW4oKQp7CiAgICAgIHN0ZDo6c3JhbmQoc3RkOjp0aW1lKDApKTsvL1dpZXNvIGthbm4gU2NoZWnDny1JZGVvbmUga2VpbiBudWxscHRyPwogICAgICBzdGQ6OnZlY3RvcjxpbnQ+IGEoNSk7CiAgICAgIGNvbXB1dGUoYS5iZWdpbigpLCBhLmVuZCgpLCBbXSgpe3JldHVybiByYW5kKCkgJSAzO30pOwogICAgICBzdGQ6OmNvcHkoYS5iZWdpbigpLCBhLmVuZCgpLCBzdGQ6Om9zdHJlYW1faXRlcmF0b3I8aW50PihzdGQ6OmNvdXQpKTsKfQ==