Pagini recente » Cod sursa (job #1493884) | Istoria paginii runda/jfdf5634/clasament | Cod sursa (job #160635) | Cod sursa (job #2425534) | 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);
}