Submission
Status:
----------
Score: 0
User: Pera
Problemset: Consecutive Subsequence
Language: cpp
Time: 0.002 second
Submitted On: 2025-03-22 15:14:23
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL);
//int maxnum = INT_MIN;
//int minnum = INT_MAX;
set<int> ms;
string str;
while (cin >> str) {
if (!isdigit(str[0]) && str[0] != '-') break;
//if (stoi(str) > maxnum) maxnum = stoi(str);
//if (stoi(str) < minnum) minnum = stoi(str);
ms.insert(stoi(str));
}
vector<int> current;
vector<int> longest;
int currentnum;
auto previt = ms.begin();
auto currit = previt;
++currit;
current.push_back(*previt);
for (; currit != ms.end(); ++currit) {
if (current.empty()) {
current.push_back(*currit);
if (longest.size() < current.size()) longest = current;
++previt;
} else if (*previt + 1 == *currit) {
current.push_back(*currit);
if (longest.size() < current.size()) longest = current;
++previt;
} else {
current.clear();
current.push_back(*currit);
++previt;
}
}
cout << "---Multiset incoming---" << '\n';
for (auto it = ms.begin(); it != ms.end(); ++it) {
cout << *it << ' ';
}
cout << '\n' << "---End of multiset---" << '\n';
for (int k : longest) {
cout << k << ' ';
}
cout << '\n';
}