#include <algorithm>
#include <iostream>
#include <vector>
void solve(std::vector<int>& A)
{
std::sort(A.begin(),A.end()); //sorting vector
int expected = 0;
int missing = 0;
for(int i = 1; i < A.size(); ++i)
{
if (A[i] <= 0) {
std::cout << "we found " << A[i] << "\n";
continue;
}
if (A[i-1] <= 0) {
expected = 1;
} else {
expected = A[i-1] + 1;
}
if (A[i] == expected)
continue;
std::cout << "A[" << i-1 << "] = " << A[i-1] << '\n';
std::cout << "expecting " << expected << '\n';
std::cout << "A[" << i << "] = " << A[i] << '\n';
missing = expected;
std::cout << "missing number: " << expected << '\n';
break;
}
//do something more
}
int main() {
std::vector<int> A { -9, 12, -1, 0, 1 };
solve(A);
std::cout << "and we're done\n";
}
CSNpbmNsdWRlIDxhbGdvcml0aG0+CgkjaW5jbHVkZSA8aW9zdHJlYW0+CgkjaW5jbHVkZSA8dmVjdG9yPgoJCgl2b2lkIHNvbHZlKHN0ZDo6dmVjdG9yPGludD4mIEEpCgl7CgkgICAgc3RkOjpzb3J0KEEuYmVnaW4oKSxBLmVuZCgpKTsgICAgLy9zb3J0aW5nIHZlY3RvcgoJCgkgICAgaW50IGV4cGVjdGVkID0gMDsKCSAgICBpbnQgbWlzc2luZyA9IDA7CgoJICAgIGZvcihpbnQgaSA9IDE7IGkgPCBBLnNpemUoKTsgKytpKQoJICAgIHsKCSAgICAJaWYgKEFbaV0gPD0gMCkgewoJICAgIAkJc3RkOjpjb3V0IDw8ICJ3ZSBmb3VuZCAiIDw8IEFbaV0gPDwgIlxuIjsKCSAgICAJCWNvbnRpbnVlOwoJICAgIAl9CgoJICAgIAlpZiAoQVtpLTFdIDw9IDApIHsKCSAgICAJCWV4cGVjdGVkID0gMTsKCSAgICAJfSBlbHNlIHsKCSAgICAJCWV4cGVjdGVkID0gQVtpLTFdICsgMTsKCSAgICAJfQoJICAgIAlpZiAoQVtpXSA9PSBleHBlY3RlZCkKCSAgICAJCWNvbnRpbnVlOwoKCSAgICAJc3RkOjpjb3V0IDw8ICJBWyIgPDwgaS0xIDw8ICJdID0gIiA8PCBBW2ktMV0gPDwgJ1xuJzsKCSAgICAJc3RkOjpjb3V0IDw8ICJleHBlY3RpbmcgIiA8PCBleHBlY3RlZCA8PCAnXG4nOwoJICAgIAlzdGQ6OmNvdXQgPDwgIkFbIiA8PCBpIDw8ICJdID0gIiA8PCBBW2ldIDw8ICdcbic7CgoJCQltaXNzaW5nID0gZXhwZWN0ZWQ7CSAgICAJCgkgICAgCXN0ZDo6Y291dCA8PCAibWlzc2luZyBudW1iZXI6ICIgPDwgZXhwZWN0ZWQgPDwgJ1xuJzsKCSAgICAJCgkgICAgCWJyZWFrOwoJICAgIH0KCS8vZG8gc29tZXRoaW5nIG1vcmUKCX0KCQoJaW50IG1haW4oKSB7CgkJc3RkOjp2ZWN0b3I8aW50PiBBIHsgLTksIDEyLCAtMSwgMCwgMSB9OwoJCXNvbHZlKEEpOwoJCXN0ZDo6Y291dCA8PCAiYW5kIHdlJ3JlIGRvbmVcbiI7Cgl9Cgk=