#include <iostream>
using namespace std;
void merge(const int* a, size_t dima, const int* b, size_t dimb, int* c){
int i = 0, j = 0, k = 0;
while(i < dima && j < dimb){
if(*(a + i) <= *(b + j))
*(c + k++)=*(a + i++);
else *(c + k++)=*(b + j++);
}
while(i < dima)
*(c + k++)=*(a + i++);
while(j < dimb)
*(c + k++)=*(b + j++);
}
int main() {
// your code goes here
int a[] = {1,4,4,5,8};
int b[] = {1,2,2,4,6,6,9};
constexpr size_t dima = (sizeof(a)/sizeof(*a));
constexpr size_t dimb = (sizeof(b)/sizeof(*b));
constexpr size_t dimc = dima + dimb;
int c[dimc];
merge(a, dima, b, dimb, c);
for(int i = 0; i < dimc; i++)
cout<<c[i]<<" ";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBtZXJnZShjb25zdCBpbnQqIGEsIHNpemVfdCBkaW1hLCBjb25zdCBpbnQqIGIsIHNpemVfdCBkaW1iLCBpbnQqIGMpewoJaW50IGkgPSAwLCBqID0gMCwgayA9IDA7Cgl3aGlsZShpIDwgZGltYSAmJiBqIDwgZGltYil7CgkJaWYoKihhICsgaSkgPD0gKihiICsgaikpICAgICAgIAoJCQkqKGMgKyBrKyspPSooYSArIGkrKyk7ICAgICAKCQllbHNlICooYyArIGsrKyk9KihiICsgaisrKTsgICAgCgl9Cgl3aGlsZShpIDwgZGltYSkKCQkqKGMgKyBrKyspPSooYSArIGkrKyk7Cgl3aGlsZShqIDwgZGltYikKCQkqKGMgKyBrKyspPSooYiArIGorKyk7Cn0KCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IGFbXSA9IHsxLDQsNCw1LDh9OwoJaW50IGJbXSA9IHsxLDIsMiw0LDYsNiw5fTsKCWNvbnN0ZXhwciBzaXplX3QgZGltYSA9IChzaXplb2YoYSkvc2l6ZW9mKCphKSk7Cgljb25zdGV4cHIgc2l6ZV90IGRpbWIgPSAoc2l6ZW9mKGIpL3NpemVvZigqYikpOwoJY29uc3RleHByIHNpemVfdCBkaW1jID0gZGltYSArIGRpbWI7CglpbnQgY1tkaW1jXTsKCW1lcmdlKGEsIGRpbWEsIGIsIGRpbWIsIGMpOwoJZm9yKGludCBpID0gMDsgaSA8IGRpbWM7IGkrKykKCQljb3V0PDxjW2ldPDwiICI7CglyZXR1cm4gMDsKfQ==