71 7 3 5 9 4 8Example Output
18Hint
Author
| 01 | #include<stdio.h> | 
| 02 | intmain() | 
| 03 | { | 
| 04 |     inti, n, a[1111], b[1111], j; | 
| 05 |     while(scanf("%d", &n) != EOF) | 
| 06 |     { | 
| 07 |         for(i = 0; i < n; i++) | 
| 08 |         { | 
| 09 |             scanf("%d", &a[i]); | 
| 10 |             b[i] = a[i]; | 
| 11 |         } | 
| 12 |         for(i = 1; i < n; i++) | 
| 13 |         { | 
| 14 |             for(j = 0; j < i; j++) | 
| 15 |             { | 
| 16 |                 if(a[j]<a[i]) | 
| 17 |                 { | 
| 18 |                     if(b[j]+a[i]>b[i]) | 
| 19 |                     { | 
| 20 |                         b[i]=b[j]+a[i];  //得到最大的子序列 | 
| 21 |                     } | 
| 22 |                 } | 
| 23 |             } | 
| 24 |         } | 
| 25 |         intmax = 0; | 
| 26 |         for(i = 0; i < n; i++) | 
| 27 |             if(b[i] > max) max = b[i]; | 
| 28 |         printf("%d/n", max); | 
| 29 |     } | 
| 30 |     return0; | 
| 31 | } | 
新聞熱點
疑難解答