博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
杭电ACM——1003,Max Sum(DP)
阅读量:4051 次
发布时间:2019-05-25

本文共 764 字,大约阅读时间需要 2 分钟。

突破口:把握好sum<0的意义

#include
#include
using namespace std;int a[100005];int main(){ int T,n,i,kase; int max,sum,start,end,st,et; //max作为最终输出的答案,sum作为游标,去探测 scanf("%d",&T); kase=1; while(T--) { sum=0; scanf("%d",&n); for(i=0;i<=n-1;i++) scanf("%d",&a[i]); for(i=0;i<=n-1;i++) { if(i==0) { start=end=st=et=0; max=sum=a[0]; } else { sum+=a[i]; et=i; } if(sum<0) //sum<0,起点要重新设置 { if(sum>=max) //只有sum>=max时,才将sum的值赋给max,并记录下起点与重点 { max=sum; start=st; end=et; } sum=0; st=et=i+1; //起点重新设置 } else { if(sum>=max) { max=sum; start=st; end=et; } } } printf("Case %d:\n",kase++); printf("%d %d %d\n",max,start+1,end+1); if(T!=0) printf("\n"); } return 0; }

转载地址:http://efdci.baihongyu.com/

你可能感兴趣的文章
S3C2440中对LED驱动电路的理解
查看>>
《天亮了》韩红
查看>>
Windows CE下USB摄像头驱动开发(以OV511为例,附带全部源代码以及讲解) [转]
查看>>
关于货币符号以及发音、币别码
查看>>
关于预处理器的学习
查看>>
ARM,S3C2410中脉宽调制定时器
查看>>
Zebra Bar-One 不能批量打印离散号码
查看>>
Platform创建WinCE内核时的编译错误
查看>>
玻璃杯
查看>>
柳永 《雨霖铃》
查看>>
MD2410开发板通过仿真器烧Bootloader简单流程
查看>>
MD2410仿真器烧Bootloader补充[1]:JTAG
查看>>
Meav《One I Love》
查看>>
林锐《高质量C++/C 编程指南》附录之《C++/C 代码审查表》
查看>>
林锐《高质量C++/C 编程指南》附录之《C++/C 编程质量试题》
查看>>
SC6600D_init.s
查看>>
最近比较烦
查看>>
祝福君君
查看>>
南澳西冲东冲穿越2日游
查看>>
又是一年毕业时
查看>>