#include <iostream>
#include <vector>
int main()
{
std::vector<int> v = { 0, 1, 0, 2, 0, 3, 0, 4 };
for (auto itr = v.begin(); itr != v.end(); /* intentionally empty */)
{
if (*itr == 0)
{
itr = v.erase(itr);
}
else
{
++itr;
}
}
for (const auto& i : v)
{
std::cout << i << " ";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKaW50IG1haW4oKQp7CglzdGQ6OnZlY3RvcjxpbnQ+IHYgPSB7IDAsIDEsIDAsIDIsIDAsIDMsIDAsIDQgfTsKCQoJZm9yIChhdXRvIGl0ciA9IHYuYmVnaW4oKTsgaXRyICE9IHYuZW5kKCk7IC8qIGludGVudGlvbmFsbHkgZW1wdHkgKi8pCgl7CgkJaWYgKCppdHIgPT0gMCkKCQl7CgkJCWl0ciA9IHYuZXJhc2UoaXRyKTsKCQl9CgkJZWxzZQoJCXsKCQkJKytpdHI7CgkJfQoJfQoJCglmb3IgKGNvbnN0IGF1dG8mIGkgOiB2KQoJewoJCXN0ZDo6Y291dCA8PCBpIDw8ICIgIjsKCX0KCglyZXR1cm4gMDsKfQ==