#include <iostream>
#include <vector>
using namespace std;
std::vector<int> longestSequence(const std::vector<int>& numbers)
{
std::vector<int> result;
if (numbers.empty())
return result;
size_t longestStart = 0, longestLength = 0;
size_t start = 0;
for (size_t i = 1, imax = numbers.size(); i < imax; ++i) {
if (numbers[i] / 10 != numbers[i - 1]) {
if (i - start > longestLength) {
longestStart = start;
longestLength = i - start;
}
start = i;
}
}
if (numbers.size() - start > longestLength) {
longestStart = start;
longestLength = numbers.size() - start;
}
result.assign(begin(numbers) + longestStart, begin(numbers) + longestStart + longestLength);
return result;
}
int main() {
// your code goes here
auto s = longestSequence({523,742,7421,12,123,1234,87});
for (auto n : s)
cout << " " << n;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RkOjp2ZWN0b3I8aW50PiBsb25nZXN0U2VxdWVuY2UoY29uc3Qgc3RkOjp2ZWN0b3I8aW50PiYgbnVtYmVycykKewogICAgc3RkOjp2ZWN0b3I8aW50PiByZXN1bHQ7CiAgICBpZiAobnVtYmVycy5lbXB0eSgpKQogICAgICAgIHJldHVybiByZXN1bHQ7CiAgICBzaXplX3QgbG9uZ2VzdFN0YXJ0ID0gMCwgbG9uZ2VzdExlbmd0aCA9IDA7CiAgICBzaXplX3Qgc3RhcnQgPSAwOwogICAgZm9yIChzaXplX3QgaSA9IDEsIGltYXggPSBudW1iZXJzLnNpemUoKTsgaSA8IGltYXg7ICsraSkgewogICAgICAgIGlmIChudW1iZXJzW2ldIC8gMTAgIT0gbnVtYmVyc1tpIC0gMV0pIHsKICAgICAgICAgICAgaWYgKGkgLSBzdGFydCA+IGxvbmdlc3RMZW5ndGgpIHsKICAgICAgICAgICAgICAgIGxvbmdlc3RTdGFydCA9IHN0YXJ0OwogICAgICAgICAgICAgICAgbG9uZ2VzdExlbmd0aCA9IGkgLSBzdGFydDsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdGFydCA9IGk7CiAgICAgICAgfQogICAgfQogICAgaWYgKG51bWJlcnMuc2l6ZSgpIC0gc3RhcnQgPiBsb25nZXN0TGVuZ3RoKSB7CiAgICAgICAgbG9uZ2VzdFN0YXJ0ID0gc3RhcnQ7CiAgICAgICAgbG9uZ2VzdExlbmd0aCA9IG51bWJlcnMuc2l6ZSgpIC0gc3RhcnQ7CiAgICB9CiAgICByZXN1bHQuYXNzaWduKGJlZ2luKG51bWJlcnMpICsgbG9uZ2VzdFN0YXJ0LCBiZWdpbihudW1iZXJzKSArIGxvbmdlc3RTdGFydCArIGxvbmdlc3RMZW5ndGgpOwogICAgcmV0dXJuIHJlc3VsdDsKfQoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglhdXRvIHMgPSBsb25nZXN0U2VxdWVuY2UoezUyMyw3NDIsNzQyMSwxMiwxMjMsMTIzNCw4N30pOwoJZm9yIChhdXRvIG4gOiBzKQoJICAgY291dCA8PCAiICIgPDwgbjsKCXJldHVybiAwOwp9