71 7 3 5 9 4 8Example Output
18Hint
Author
01 | #include<stdio.h> | 
02 | int main() | 
03 | { | 
04 |     int i, 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 |         int max = 0; | 
26 |         for(i = 0; i < n; i++) | 
27 |             if(b[i] > max) max = b[i]; | 
28 |         printf("%d/n", max); | 
29 |     } | 
30 |     return 0; | 
31 | } | 
新闻热点
疑难解答