首页 > 代码库 > [HDU1003]最长子序列和
[HDU1003]最长子序列和
http://acm.hdu.edu.cn/showproblem.php?pid=1003
解题关键:1、最大连续子序列和模板
2、max、end不能使用,在oj中会显示编译错误
3、注意模板中没有else if
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<cstdlib> 5 #define INF 10000000 6 using namespace std; 7 typedef long long ll; 8 int n,a[1000002],st,end1; 9 int max_sub(){10 int max1=-INF,temp_sum=0,k=0;11 for(int i=0;i<n;i++){12 temp_sum+=a[i];13 if(temp_sum>max1){ max1=temp_sum;st=k;end1=i;}14 if(temp_sum<0){ temp_sum=0;k=i+1;}15 }16 return max1;17 }18 int main(){19 int t;20 scanf("%d",&t);21 for(int i=1;i<=t;i++){22 scanf("%d",&n);23 for(int j=0;j<n;j++){24 scanf("%d",a+j);25 }26 int ans=max_sub();27 printf("Case %d:\n%d %d %d\n",i,ans,st+1,end1+1);28 if(i!=t) printf("\n");29 } 30 return 0;31 }
[HDU1003]最长子序列和
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。