HDOJ 1003 Max Sum
2012-11-30 19:12
197 查看
~~~题目链接~~~
思路:前几个数的连续和加上当前这个数, 如果比当前这个数小就从当前这个位开锁重新记区间,否则加入当前区间,注意有负数, 不能用连续的几个数和小于0做结束判断
code:
思路:前几个数的连续和加上当前这个数, 如果比当前这个数小就从当前这个位开锁重新记区间,否则加入当前区间,注意有负数, 不能用连续的几个数和小于0做结束判断
code:
#include <iostream> #include <algorithm> using namespace std; int main() { int i = 0, j = 0, t = 0, x = 0, y = 0, cnt = 0, ans = -0x7fffffff, ansx = 0, ansy = 0; int num[100002]; cin>>t; while(t--) { ans = -0x7fffffff, x = 1; int n = 0; cin>>n; for(i = 0; i<n; i++) cin>>num[i]; int sum = 0, max = -0x7fffffff; for(i = 0; i<n; i++) { sum += num[i]; if(sum<num[i]) { x = i+1; y = i+1; sum = num[i]; } if(max<sum) { max = sum; y = i+1; } if(ans<max) { ans = max; ansx = x; ansy = y; } } cout<<"Case "<<++cnt<<":"<<endl; cout<<ans<<" "<<ansx<<" "<<ansy<<endl; if(t != 0) cout<<endl; } return 0; }
相关文章推荐
- hdu/hdoj 1003 Max Sum
- DP(一)HDOJ 1003 Max Sum(java版)
- hdoj 1003 Max Sum【搜索】
- HDOJ 1003 Max Sum(DP,思维)
- 简单DP HDOJ 1003 MAX SUM
- HDOJ 1003 ( Max Sum )
- HDOJ 1003 Max Sum 测试用例
- 【HDOJ 1003】 Max Sum
- hdoj1003--Max Sum
- Max Sum(hdoj1003)
- HDOJ 1003题:max sum
- hdoj1003-Max Sum(数组的最大和)
- hdoj1003 Max Sum
- hdoj1003 Max Sum (DP 最大子序列求和)
- HDOJ 1003 Max Sum
- HDOJ 1003 Max Sum
- hdoj 1003 Max Sum
- HDOJ 1003 Max Sum
- HDOJ 1003 Max Sum 动态规划入门(
- HDOJ 1003 Max Sum