Submission

Status:
PPPPPPPPPP

Score: 100

User: Ongsa123

Problemset: Consecutive Subsequence

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-13 22:11:21

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> ct(vector<int> &nums) {
    if (nums.empty()) return {};
    sort(nums.begin(), nums.end());
    vector<int> longest,current;
    current.push_back(nums[0]);
    for (size_t i = 1; i < nums.size(); ++i){
        if (nums[i] == nums[i - 1] + 1) {
            current.push_back(nums[i]);
        }
        else if (nums[i] != nums[i - 1]) {
            if (current.size() > longest.size()) {
                longest = current;
            }
            current = {nums[i]};
        }
    }
    if (current.size() > longest.size()) {
        longest = current;
    }
    return longest;
}
int main() {
    vector<int> numbers;
    int num;
    while (cin >> num) {
        numbers.push_back(num);
    }
    vector<int> longestSeq = ct(numbers);
    for (int n : longestSeq) {
        cout << n << " ";
    }
    cout << endl;

    return 0;
}