Pagini recente » Cod sursa (job #3122050) | Cod sursa (job #2110794) | Cod sursa (job #1729800) | Cod sursa (job #2255665) | Cod sursa (job #2148360)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
const int N = 100001;
int n, v[N], lung[N], m;
void print(int i) {
if (lung[i] == 1) {
g << v[i] << ' ';
return;
}
int j;
for (j = i - 1; j > 0 && lung[i] - 1 != lung[j]; j--);
print(j);
g << v[i] << ' ';
}
int main()
{
int poz = 0;
f >> n;
for (int i = 1; i <= n; i++) {
f >> v[i];
for (int j = 1; j < i; j++) {
if (v[j] < v[i]) lung[i] = max(lung[i], lung[j]);
}
lung[i]++;
if (m < lung[i]) {
m = lung[i];
poz = i;
}
}
print(poz);
}