| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1145 人关注过本帖
标题:杭电1003,AC有兴趣来看看
只看楼主 加入收藏
Buger
Rank: 1
等 级:新手上路
帖 子:60
专家分:7
注 册:2013-3-20
收藏
得分:0 
还在?
2013-03-24 00:50
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
回复 11楼 Buger
比如你可以枚举哪个数到达结束位置的和刚好是答案
2013-03-24 01:16
Buger
Rank: 1
等 级:新手上路
帖 子:60
专家分:7
注 册:2013-3-20
收藏
得分:0 
???没看懂
2013-03-24 01:21
Buger
Rank: 1
等 级:新手上路
帖 子:60
专家分:7
注 册:2013-3-20
收藏
得分:0 
再一次改进还是WA
程序代码:
#include <stdio.h>
#define N 100000 + 10
int main() {
    int T, n, a[N], sum, t, i, k, j, b, sum1, c;
    scanf("%d", &T);
        for(t = 1; t <= T; t++) {
            scanf("%d", &n);
            sum = 0; b = 0;
            for(i = 1; i <= n; i++) {
                scanf("%d", &a[i]);
                if(b > 0) b += a[i];
                else b = a[i];
                if(b > sum) {
                    sum = b;
                    k = i;
                }
            }
            sum1 = 0; c = 0;
            for(i = k; i >= 1; i--) {
                if(c > 0) c += a[i];
                else c = a[i];
                if(c >= sum1) {
                    sum1 = c;
                    j = i;
              }
          }
          printf("Case %d:\n%d %d %d\n", t, sum, j, k);
          if(t < T) printf("\n");
      }
      return 0;

 }

 
2013-03-24 10:14
快速回复:杭电1003,AC有兴趣来看看
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026006 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved