#include <iostream>
#include <vector>
#include <algorithm>
void removeAll_unordered( std::vector<int> &a, const std::vector<int> &b )
{
auto end = std::remove_if( a.begin(), a.end(), [b]( int i ) {
return std::find( b.begin(), b.end(), i ) != b.end();
} );
a.erase( end, a.end() );
}
int main() {
std::vector<int> a = { 5, 7, 14, 0, 6, 2, 9, 11, 3 };
std::vector<int> b = { 6, 4, 3, 10, 9, 15, 7 };
removeAll_unordered( a, b );
for( auto i : a ) std::cout << i << " ";
std::cout << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdm9pZCByZW1vdmVBbGxfdW5vcmRlcmVkKCBzdGQ6OnZlY3RvcjxpbnQ+ICZhLCBjb25zdCBzdGQ6OnZlY3RvcjxpbnQ+ICZiICkKewogICAgIGF1dG8gZW5kID0gc3RkOjpyZW1vdmVfaWYoIGEuYmVnaW4oKSwgYS5lbmQoKSwgW2JdKCBpbnQgaSApIHsKICAgICAJcmV0dXJuIHN0ZDo6ZmluZCggYi5iZWdpbigpLCBiLmVuZCgpLCBpICkgIT0gYi5lbmQoKTsKICAgICB9ICk7CiAgICAgYS5lcmFzZSggZW5kLCBhLmVuZCgpICk7Cn0KCmludCBtYWluKCkgewogICAgc3RkOjp2ZWN0b3I8aW50PiBhID0geyA1LCA3LCAxNCwgMCwgNiwgMiwgOSwgMTEsIDMgfTsKICAgIHN0ZDo6dmVjdG9yPGludD4gYiA9IHsgNiwgNCwgMywgMTAsIDksIDE1LCA3IH07CiAgICByZW1vdmVBbGxfdW5vcmRlcmVkKCBhLCBiICk7CiAgICBmb3IoIGF1dG8gaSA6IGEgKSBzdGQ6OmNvdXQgPDwgaSA8PCAiICI7CiAgICBzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwoJcmV0dXJuIDA7Cn0=