Pagini recente » Cod sursa (job #2881168) | Cod sursa (job #2617283) | Cod sursa (job #1195157) | Cod sursa (job #3174803) | Cod sursa (job #422975)
Cod sursa(job #422975)
#include <stdio.h>
#define DIM 100001
FILE *f1 = fopen("scmax.in","r");
FILE *f2 = fopen("scmax.out","w");
int a[DIM];
int t[DIM];
int opt[DIM];
int n;
int i,j,x;
int max;
void func(int x){
if(x > 0){
func(t[x]);
fprintf(f2,"%d ",a[x]);
}
}
int main(){
fscanf(f1,"%d\n",&n);
for(i=1; i<=n; i++){
fscanf(f1,"%d ",&a[i]);
max = 0;
for(j=1; j<i; j++)
if(a[i] > a[j])
if(max < opt[j]){
max = opt[j];
t[i] = j;
}
opt[i] = max + 1;
if(opt[i] > opt[x])
x = i;
}
fprintf(f2,"%d\n",opt[x]);
// x = n;
// while(x){
// fprintf(f2,"%d ",a[x]);
// x = t[x];
// }
func(x);
fclose(f1);
fclose(f2);
return 0;
}