Pagini recente » Cod sursa (job #2562312) | Cod sursa (job #2981059) | Cod sursa (job #1322704) | Cod sursa (job #2988615) | Cod sursa (job #877225)
Cod sursa(job #877225)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int i, j, n, LungMax, v[100005], lung[100005];
int main() {
fin >> n;
for (i = 0; i < n; ++i) {
fin >> v[i];
lung[i] = -1;
}
fin.close();
lung[n - 1] = 0;
for (i = n - 2; i >= 0; --i) {
for (j = i + 1; j < n; ++j) {
if (v[i] < v[j] && lung[i] < lung[j] + 1)
lung[i] = lung[j] + 1;
}
if (LungMax < lung[i])
LungMax = lung[i];
}
fout << ++LungMax << '\n';
i = 0;
while (LungMax) {
if (lung[i] == LungMax - 1) {
--LungMax;
fout << v[i] << ' ';
}
++i;
}
fout.close();
return 0;
}