#include <iostream>
//наивный алгоритм сложностью O(n^2)
int* unique_cpy(int* d, const int* f, const int* l){
const int* p;
for(; f != l; ++f){
p = f + 1;
while((p < l) && (*p != *f))
++p;
if(p >= l)
*d++ = *f;
}
return d;
}
int main(void){
int A[10] = { 1, 2, 1, 3, 5, 3, 3, 4, 4, 3 };
int B[10];
int* e = unique_cpy(B, A, A + sizeof(A)/sizeof(A[0]));
for(int* p = &B[0]; p != e; ++p)
std::cout << *p << ' ';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKLy/QvdCw0LjQstC90YvQuSDQsNC70LPQvtGA0LjRgtC8INGB0LvQvtC20L3QvtGB0YLRjNGOIE8obl4yKQppbnQqIHVuaXF1ZV9jcHkoaW50KiBkLCBjb25zdCBpbnQqIGYsIGNvbnN0IGludCogbCl7Cgljb25zdCBpbnQqIHA7Cglmb3IoOyBmICE9IGw7ICsrZil7CgkJcCA9IGYgKyAxOwoJCXdoaWxlKChwIDwgbCkgJiYgKCpwICE9ICpmKSkKCQkJKytwOwoJCWlmKHAgPj0gbCkKCQkJKmQrKyA9ICpmOwoJfQoJcmV0dXJuIGQ7Cn0KCgppbnQgbWFpbih2b2lkKXsKCWludCBBWzEwXSA9IHsgMSwgMiwgMSwgMywgNSwgMywgMywgNCwgNCwgMyB9OwoJaW50IEJbMTBdOwoKCWludCogZSA9IHVuaXF1ZV9jcHkoQiwgQSwgQSArIHNpemVvZihBKS9zaXplb2YoQVswXSkpOwoJZm9yKGludCogcCA9ICZCWzBdOyBwICE9IGU7ICsrcCkKCQlzdGQ6OmNvdXQgPDwgKnAgPDwgJyAnOwoJcmV0dXJuIDA7Cn0=