Pagini recente » Cod sursa (job #1189228) | Cod sursa (job #1241020) | Cod sursa (job #1189227) | Cod sursa (job #1906302) | Cod sursa (job #1189267)
#define _CRT_SECURE_NO_DEPRECATE
#include <iostream>
#include <cstdio>
#include <fstream>
#include <vector>
#include <deque>
#include <set>
#include <map>
#include <list>
#include <string>
#include <iterator>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <tuple>
using namespace std;
#define NMAX 100001
int n, a[NMAX], p[NMAX];
int i, j, x, lgMax, last = -1;
int main(){
freopen("scmax.in", "r", stdin);
freopen("scmax.out", "w", stdout);
scanf("%d", &n);
for (i = 0; i < n; i++) scanf("%d", &a[i]);
for (i = n - 1; i >= 0; i--){
p[i] = 1;
for (j = i; j < n; j++){
if (a[j] > a[i]){
p[i] = p[j] + 1;
break;
}
}
}
for (i = 0; i < n; i++) {
if (p[i] > lgMax){
lgMax = p[i];
}
}
printf("%d\n", lgMax);
for (i = 0; i < n; i++){
if (p[i] == lgMax && a[i] > last){
last = a[i];
lgMax--;
printf("%d ", a[i]);
}
}
return 0;
}