#include <vector>
#include <algorithm>
#include <iostream>
int main()
{
using namespace std;
vector<int> v = { 1, 4, 7, 8, 11 };
vector<vector<int>> result;
for (auto i = v.begin(), e = v.end(); i != e; ) {
auto f = adjacent_find(i, e, [](auto l, auto r) -> bool { return (r - l) >= 2; });
if (f != e) ++f;
result.emplace_back(i, f);
i = f;
}
for (auto && i : result ) {
for (auto && j : i)
cout << j << " , ";
cout << "\n";
}
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oKQp7CiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOwogICAgCiAgICB2ZWN0b3I8aW50PiB2ID0geyAxLCA0LCA3LCA4LCAxMSB9OwogICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiByZXN1bHQ7CiAgICAKICAgIGZvciAoYXV0byBpID0gdi5iZWdpbigpLCBlID0gdi5lbmQoKTsgaSAhPSBlOyApIHsKICAgICAgICBhdXRvIGYgPSBhZGphY2VudF9maW5kKGksIGUsIFtdKGF1dG8gbCwgYXV0byByKSAtPiBib29sIHsgcmV0dXJuIChyIC0gbCkgPj0gMjsgfSk7CiAgICAgICAgaWYgKGYgIT0gZSkgKytmOwogICAgICAgIHJlc3VsdC5lbXBsYWNlX2JhY2soaSwgZik7CiAgICAgICAgaSA9IGY7CiAgICB9CgogICAgZm9yIChhdXRvICYmIGkgOiByZXN1bHQgKSB7CiAgICAgICAgZm9yIChhdXRvICYmIGogOiBpKQogICAgICAgICAgICBjb3V0IDw8IGogPDwgIiAsICI7CiAgICAgICAgY291dCA8PCAiXG4iOwogICAgfQp9Cg==