Pagini recente » Cod sursa (job #593897) | Cod sursa (job #403011) | Cod sursa (job #1760202) | Cod sursa (job #2227141) | Cod sursa (job #1486490)
#include <stdio.h>
int n;
int a[100000];
int minLastForThisLength[100001];
int main(void){
scanf("%d", &n);
for (int i=0; i<n; i++){
scanf("%d", &a[i]);
}
minLastForThisLength[0] = -1;
for (int i=1; i<n; i++) minLastForThisLength[i] = 200000;
for (int i=0; i<n; i++){
for (int j=1; j<=n; j++){
if (minLastForThisLength[j-1]<a[i] && minLastForThisLength[j]>a[i]) minLastForThisLength[j] = a[i];
}
}
int i;
for (i=1; minLastForThisLength[i+1]!=200000; i++);
printf("%d\n", i);
for (i=1; minLastForThisLength[i]!=200000; i++) printf("%d ", minLastForThisLength[i]);
return 0;
}