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 | } |
新闻热点
疑难解答