Pagini recente » Cod sursa (job #2045686) | Cod sursa (job #1442674) | Cod sursa (job #2349743) | Cod sursa (job #1431738) | Cod sursa (job #1623353)
#include <stdio.h>
FILE *fin = fopen("scmax.in", "r");
FILE *fout = fopen("scmax.out", "w");
int v[100001], L[100001];
int main(){
int n, i, j, maxm = 0;
fscanf(fin, "%d", &n);
for(i = 1; i <= n; i++)
fscanf(fin, "%d", &v[i]);
L[n] = 1;
for(i = n - 1; i >= 1; i--){
L[i] = 1;
for(j = i; j <= n; j++){
if(L[j] + 1 > L[i] && v[i] < v[j])
L[i] = L[j] + 1;
if(maxm < L[i])
maxm = L[i];
}
}
fprintf(fout, "%d\n", maxm);
for(i = 1; i <= n; i++)
if(L[i] == maxm){
fprintf(fout, "%d ", v[i]);
maxm--;
}
fprintf(fout, "\n");
fclose(fin);
fclose(fout);
return 0;
}