#include <iostream>
#include <algorithm>
using namespace std;
template <typename InputIterator>
static void test(InputIterator first, InputIterator last)
{
std::for_each(first, last, [](decltype(*first) value){ std::cout<<value<<std::endl; });
}
template <typename InputIterator, typename OutputIterator>
static void test1(InputIterator first, InputIterator last, OutputIterator output)
{
std::copy_if(first, last, output, [](decltype(*first) value){ return value > 0; });
}
int main() {
// your code goes here
int myarr[5] = {1,2,3,4,5};
std::vector<int> out;
auto first = std::begin(myarr);
auto last = std::end(myarr);
test(&myarr[0],
&myarr[5]);
std::cout<<"try"<<std::endl;
test1(first,
last,
std::back_inserter(out));
for (const auto &value: myarr)
{
std::cout<<value<<std::endl;
}
std::cout<<"end"<<std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlIDx0eXBlbmFtZSBJbnB1dEl0ZXJhdG9yPgpzdGF0aWMgdm9pZCB0ZXN0KElucHV0SXRlcmF0b3IgZmlyc3QsIElucHV0SXRlcmF0b3IgbGFzdCkKewogICAgc3RkOjpmb3JfZWFjaChmaXJzdCwgbGFzdCwgW10oZGVjbHR5cGUoKmZpcnN0KSB2YWx1ZSl7IHN0ZDo6Y291dDw8dmFsdWU8PHN0ZDo6ZW5kbDsgIH0pOwkKfQoKdGVtcGxhdGUgPHR5cGVuYW1lIElucHV0SXRlcmF0b3IsIHR5cGVuYW1lIE91dHB1dEl0ZXJhdG9yPgpzdGF0aWMgdm9pZCB0ZXN0MShJbnB1dEl0ZXJhdG9yIGZpcnN0LCBJbnB1dEl0ZXJhdG9yIGxhc3QsIE91dHB1dEl0ZXJhdG9yIG91dHB1dCkKewogICAgc3RkOjpjb3B5X2lmKGZpcnN0LCBsYXN0LCBvdXRwdXQsICBbXShkZWNsdHlwZSgqZmlyc3QpIHZhbHVlKXsgcmV0dXJuIHZhbHVlID4gMDsgIH0pOwkKfQoKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IG15YXJyWzVdID0gezEsMiwzLDQsNX07CgkKCXN0ZDo6dmVjdG9yPGludD4gb3V0OwoJCglhdXRvIGZpcnN0ID0gc3RkOjpiZWdpbihteWFycik7CglhdXRvIGxhc3QgPSBzdGQ6OmVuZChteWFycik7CgkKCXRlc3QoJm15YXJyWzBdLAoJCSAmbXlhcnJbNV0pOwoJCSAKCXN0ZDo6Y291dDw8InRyeSI8PHN0ZDo6ZW5kbDsKCQoJdGVzdDEoZmlyc3QsCgkJIGxhc3QsCgkJIHN0ZDo6YmFja19pbnNlcnRlcihvdXQpKTsKCQkgCglmb3IgKGNvbnN0IGF1dG8gJnZhbHVlOiBteWFycikKCXsKCQlzdGQ6OmNvdXQ8PHZhbHVlPDxzdGQ6OmVuZGw7Cgl9CgkKCXN0ZDo6Y291dDw8ImVuZCI8PHN0ZDo6ZW5kbDsKCQoJcmV0dXJuIDA7Cn0=