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 | } |
新聞熱點
疑難解答