#include <iostream>
#include <set>
#include <algorithm>
using namespace std;
int main() {
std::set<int> ints = {1, -1, 3};
auto dupe = std::find_if(ints.begin(),ints.end(),[&](const int& first){
return std::find_if(ints.begin(),ints.end(),[&](const int& second) {
// so a the same value isn't checked against itself..
if (&first == &second) return false;
return std::abs(first) == std::abs(second);
}) != ints.end();
} );
if (dupe != ints.end()) std::cout << "Found dupe: " << *dupe << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJCglzdGQ6OnNldDxpbnQ+IGludHMgPSB7MSwgLTEsIDN9OwoJCQoJYXV0byBkdXBlID0gc3RkOjpmaW5kX2lmKGludHMuYmVnaW4oKSxpbnRzLmVuZCgpLFsmXShjb25zdCBpbnQmIGZpcnN0KXsKCQkJcmV0dXJuIHN0ZDo6ZmluZF9pZihpbnRzLmJlZ2luKCksaW50cy5lbmQoKSxbJl0oY29uc3QgaW50JiBzZWNvbmQpIHsKCQkJCS8vIHNvIGEgdGhlIHNhbWUgdmFsdWUgaXNuJ3QgY2hlY2tlZCBhZ2FpbnN0IGl0c2VsZi4uCgkJCQlpZiAoJmZpcnN0ID09ICZzZWNvbmQpIHJldHVybiBmYWxzZTsKCQkJCXJldHVybiBzdGQ6OmFicyhmaXJzdCkgPT0gc3RkOjphYnMoc2Vjb25kKTsKIAkJCX0pICE9IGludHMuZW5kKCk7CgkJIH0gKTsKCglpZiAoZHVwZSAhPSBpbnRzLmVuZCgpKSBzdGQ6OmNvdXQgPDwgIkZvdW5kIGR1cGU6ICIgPDwgKmR1cGUgPDwgc3RkOjplbmRsOwp9