#include <iostream>
using namespace std;
void print_arr(int* in_first,int* in_last)
{
for(;in_first!=in_last; ++in_first)
cout<< *in_first << endl;
}
void copy_arr(int* in_first,int* in_last, int* out_first)
{
for(;in_first!=in_last; ++in_first, ++out_first)
*out_first = *in_first;
}
void union_arr(int* a1,unsigned a1_size,
int* a2,unsigned a2_size,
int* out_a)
{
copy_arr(a1,a1+a1_size,out_a);
copy_arr(a2,a2+a2_size,out_a+a1_size);
}
int main()
{
int a1[2]={1,2};
int a2[3]={3,4,5};
unsigned total_size= 2+3;
int* out= new int[total_size];
union_arr(a1,2,a2,3,out);
print_arr(out,out+total_size);
delete[] out;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwcmludF9hcnIoaW50KiBpbl9maXJzdCxpbnQqIGluX2xhc3QpCnsKCSBmb3IoO2luX2ZpcnN0IT1pbl9sYXN0OyArK2luX2ZpcnN0KQkgIAoJCWNvdXQ8PCAqaW5fZmlyc3QgPDwgZW5kbDsKfQoKdm9pZCBjb3B5X2FycihpbnQqIGluX2ZpcnN0LGludCogaW5fbGFzdCwgaW50KiBvdXRfZmlyc3QpCnsKICAgZm9yKDtpbl9maXJzdCE9aW5fbGFzdDsgKytpbl9maXJzdCwgKytvdXRfZmlyc3QpCSAKICAgICAqb3V0X2ZpcnN0ID0gKmluX2ZpcnN0Owp9Cgp2b2lkIHVuaW9uX2FycihpbnQqIGExLHVuc2lnbmVkIGExX3NpemUsIAogICAgICAgICAgICAgICBpbnQqIGEyLHVuc2lnbmVkIGEyX3NpemUsIAogICAgICAgICAgICAgICBpbnQqIG91dF9hKQp7Cgljb3B5X2FycihhMSxhMSthMV9zaXplLG91dF9hKTsKCWNvcHlfYXJyKGEyLGEyK2EyX3NpemUsb3V0X2ErYTFfc2l6ZSk7Cn0KCmludCBtYWluKCkgCnsKCWludCBhMVsyXT17MSwyfTsKCWludCBhMlszXT17Myw0LDV9OwoJCgkKCXVuc2lnbmVkIHRvdGFsX3NpemU9IDIrMzsKCWludCogb3V0PSBuZXcgaW50W3RvdGFsX3NpemVdOwoJCgl1bmlvbl9hcnIoYTEsMixhMiwzLG91dCk7CgkKCXByaW50X2FycihvdXQsb3V0K3RvdGFsX3NpemUpOwoJCglkZWxldGVbXSBvdXQ7CgkKCXJldHVybiAwOwp9