网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
11月22日漏签0天
c语言吧 关注:801,245贴子:4,372,125
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 2回复贴,共1页
<<返回c语言吧
>0< 加载中...

大家看看这个程序是不是有一定的错误率~

  • 只看楼主
  • 收藏

  • 回复
  • buobao111
  • 异能力者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
There is a sequence A1, A2, ..., AN. You can only select a successive part. Then what is the greatest sum of the select part.
输入:
Line 1: A integer N (1 ≤ N ≤ 106)), the length of sequence
Line 2: N integers A1, A2, ..., AN (-100<=Ai<=100), the sequence.
输出:
An integer, the greatest sum.
Sampl Input
10
-1 8 -1 8 -3 2 -4 4 -7 6
Sample Output
15
#include <stdio.h>
void main()
{
int n,sum,ksum,max,flag=0,k;
scanf("%d",&n);
scanf("%d",&k);
max=k;
sum=k;
if(k>0)
{
         flag=1;
         ksum=k;
}
while(--n)
{
         scanf("%d",&k);
         max=max>k?max:k;
         if(flag)
         {
                ksum=ksum+k;
                max=max>ksum?max:ksum;
         }
         if(k>0)
         {
                if(sum<0)
                       sum=k;
                else
                {
                       sum=sum+k;
                       max=max>sum?max:sum;
                }
                if(!flag)
                {
                       ksum=k;
                       flag=1;
                }
         }
         else
                sum=k;
}
printf("%d\n",max);
}
有没有谁能测出错误的结果~


  • 良化纲领_
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
最大子段和?……果断DP之


2025-11-22 21:00:49
广告
不感兴趣
开通SVIP免广告
  • buobao111
  • 异能力者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
貌似不能完全覆盖啊~


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示