Pagini recente » Cod sursa (job #580383) | Cod sursa (job #3245351) | Cod sursa (job #309677) | Cod sursa (job #485235) | Cod sursa (job #2763121)
#include <bits/stdc++.h>
#include <list>
#include <ext/pb_ds/assoc_container.hpp>
#define FOR(i , n) for(int i = 0 ; i < (n) ; i++)
#define N 201
#define apare printf("apare");
#define endl "\n"
using namespace __gnu_pbds;
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int , int> pii;
const int inf = 1e6;
const int nax = 50001;
void LIS(vector<int> sequence){
int n = sequence.size();
vector<vector<int>>values(n);
values[0].push_back(sequence[0]);
for(int i = 1 ; i < n ; i++){
for(int j = 0 ; j < i ; j++){
if(sequence[i] > sequence[j] && values[i].size() < values[j].size() + 1)
values[i] = values[j];
}
values[i].push_back(sequence[i]);
}
vector<int> max = values[0];
for(auto x : values){
if(x.size() > max.size())
max = x;
}
cout << max.size() << endl;
for(auto it : max){
cout << it << " ";
}
cout << endl;
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
freopen("scmax.in" , "r" , stdin);
freopen("scmax.out" , "w" , stdout);
int n;
cin >> n;
vector<int> sequence;
int buffer;
FOR(i , n){
cin >> buffer;
sequence.push_back(buffer);
}
LIS(sequence);
return 0;
}