Submission

Status:
PPPPPPPPPP

Score: 100

User: Nakornrat

Problemset: Consecutive Subsequence

Language: cpp

Time: 0.003 second

Submitted On: 2025-03-23 01:06:53

#include <iostream>
#include <vector>
#include <set>
#include <sstream>
using namespace std;

vector<int> longestConsecutiveSubsequence(set<int> &nums) {
    vector<int> longestSeq, currentSeq;
    for (auto it = nums.begin(); it != nums.end(); ++it) {
        if (!currentSeq.empty() && *it != currentSeq.back() + 1) {
            if (currentSeq.size() > longestSeq.size()) {
                longestSeq = currentSeq;
            }
            currentSeq.clear();
        }
        currentSeq.push_back(*it);
    }
    if (currentSeq.size() > longestSeq.size()) {
        longestSeq = currentSeq;
    }
    return longestSeq;
}

int main() {
    set<int> nums;
    int num;
    while (cin>>num) {
        nums.insert(num);
    }
    
    vector<int> result = longestConsecutiveSubsequence(nums);
    for (int n : result) {
        cout << n << " ";
    }
    cout << endl;
    return 0;
}