Submission

Status:
P-PPPPPPPP

Score: 90

User: Nightingale

Problemset: Consecutive Subsequence

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-28 23:16:31

#include <bits/stdc++.h>
#define int long long
using namespace std;
int32_t main() 
{
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int a = 0;
  int sum = 0;
  int bestsum = 0;
  map<int,int> con;
  vector<int> save;
  vector<int> realsave;
  while(a!=LLONG_MIN){
    a = LLONG_MIN;
    cin >> a;
    con[a] = 1;
  }
  if(con.size()==3){
    auto it = con.end();
    it--;
    auto sub = it;
    sub--;
    if(abs(sub->first-it->first)==1){
      cout << sub->first << ' ' << it->first;
      return 0;
    }
  }
  if(con.size()<=3){
    auto it = con.end();
    it--;
    cout << it->first;
    return 0;
  }
  for(auto it = con.begin()++;it!=con.end();it++){
    auto sub = it;
    sub--;
    if(save.empty()){
      save.push_back(sub->first);
    }
    if(abs(sub->first-it->first)==1){
      save.push_back(it->first);
      sum++;
    }else{
      sum = 0;
      save.clear();
    }
    if(sum>bestsum){
      realsave = save;
      bestsum = sum;
    }
  }
  for(int i=0;i<realsave.size();i++){
    cout << realsave[i] << ' ';
  }
}