码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 1003 maxsum

时间:2015-06-27 22:37:46      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

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

typedef struct {
    int maxsum;
    int first;
    int end;
}resultArryType;


void OutResult(vector<int> vec, int num)
{
    resultArryType resultArry;
    int max = 0;
    int numCount = 0;
    int maxsum = 0, sumtemp = 0;
    resultArry.maxsum = -1001;
    resultArry.end = 0;
    resultArry.first = 0;
    numCount = vec.size();
    for (int i = 0; i < numCount; i++){
        sumtemp = 0;
        for (int j = i; j < numCount; j++){
            sumtemp += vec[j];

            if (sumtemp > resultArry.maxsum){
                resultArry.maxsum = sumtemp;
                resultArry.first = i + 1;;
                resultArry.end = j + 1;
            }

            if (resultArry.maxsum >sumtemp && sumtemp < 0)
                break;
        }
    }
    cout << "Case " << num << ":" << endl;
    cout << resultArry.maxsum << " " << resultArry.first << " " << resultArry.end << endl;
}


int main()
{
    int num, temp;
    int first;
    vector<int> vec;

    cin >> num;
    for (int i = 0; i < num; i++){
        first = 0;
        cin >> first;
        vec.clear();
        for (int j = 0; j < first; j++){
            cin >> temp;
            vec.push_back(temp);
        }
        OutResult(vec, i+1);
        if (i < num - 1)
            cout << endl;
    }
}

  

HDU 1003 maxsum

标签:

原文地址:http://www.cnblogs.com/mrethan/p/4604735.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!