Pagini recente » Cod sursa (job #485377) | Cod sursa (job #1800946) | Cod sursa (job #1800948) | Cod sursa (job #1476682) | Cod sursa (job #898146)
Cod sursa(job #898146)
#include <cstring>
#include <cstdio>
#include <cmath>
int n, m, p;
int a[100001];
int b[100001];
int c[100001];
FILE * in = fopen("scmax.in", "rt");
FILE * out = fopen("scmax.out", "wt");
int main() {
fscanf(in, "%d", &n);
for (int i = 0; i < n; ++i) {
fscanf(in, "%d", &a[i]);
}
for (int i = 0; i < n; ++i) {
p = 0;
while (a[i] > c[p] && p <= m) {
++p;
}
b[i] = p;
c[p] = a[i];
if (m < p) m = p;
}
fprintf(out, "%d\n", m);
for (int i = 1; i <= m; ++i) {
fprintf(out, "%d ", c[i]);
}
fclose(in);
fclose(out);
}