Pagini recente » Cod sursa (job #1118373) | Cod sursa (job #1423110) | Cod sursa (job #2849784) | Cod sursa (job #1690461) | Cod sursa (job #680289)
Cod sursa(job #680289)
#include<stdio.h>
#define MaxN 100002
int main(){
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
int a[MaxN], N, i, max, poz, l[MaxN], j;
scanf("%d", &N);
for(i = 0; i < N; i++){
scanf("%d", &a[i]);
l[i] = 0;
}
l[N-1] = 1;
for(i = N-2; i >= 0; i--){
l[i] = 1;
for(j = i; j < N; j++)
if(a[i] < a[j]){
l[i] += l[j];
break;
}
}
max = l[0];
poz = 0;
for(i = 1; i < N; i++)
if(l[i] > max){
max = l[i];
poz = i;
}
printf("%d\n", max);
printf("%d ", a[poz]);
max--;
while(max){
for(i = poz; i < N; i++)
if(l[i] == max){
poz = i;
break;
}
printf("%d ", a[poz]);
max--;
}
printf("\n");
fclose(stdin);
fclose(stdout);
}