Pagini recente » Cod sursa (job #152429) | Cod sursa (job #2958874) | Cod sursa (job #1714546) | Cod sursa (job #2095661) | Cod sursa (job #2174420)
#include <iostream>
#include <fstream>
#define maxN 100005
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n, L[maxN], pre[maxN], MAXval, MAXpoz;
long long A[maxN];
int main () {
fin >> n;
for (int i = 1; i <= n; ++i) {
fin >> A[i];
}
L[n] = 1;
for (int i = n-1; i >= 1; --i) {
for (int j = n; j > i; --j) {
if (A[i] < A[j] and L[j] >= L[i]) {
L[i] = L[j]+1;
pre[i] = j;
if (L[i] > MAXval) {
MAXval=L[i];
MAXpoz = i;
}
}
}
}
int i = MAXpoz;
while (i) {
fout << A[i] << " ";
i = pre[i];
}
}