Max Sum

2020-02-17 16:01:16来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Max Sum

本来用DP暴力枚举的,竟然没过……老尴尬了

然后想是不是得哦o(nlog n)或者o(n)

感觉没什么要讲的,代码简单

 

#include <iostream>
#include<cstdio>
using namespace std;

int main()
{
int good[3],pre[100001];
int t;
cin>>t;
for(int k=1;k<=t;k++){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&pre[i]);
}
good[0]=pre[1],good[1]=1,good[2]=1;
int temp=0,tpos=1;
for(int i=1;i<=n;i++){
temp+=pre[i];
if(temp>good[0]){
good[2]=i;
good[1]=tpos;
good[0]=temp;

}
if(temp<0){
temp=0;
tpos=i+1;
}
}
printf("Case %d:\n%d %d %d\n",k,good[0],good[1],good[2]);
if(k!=t)
printf("\n");
}
return 0;
}


原文链接:https://www.cnblogs.com/sos3210/p/12320239.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:母牛的故事

下一篇:【蓝桥杯】十六进制转八进制