• hdu1003 Max Sum(最大子串)


    https://vjudge.net/problem/HDU-1003

    注意考虑如果全为负的情况,特判。

    还有输出格式,最后一个输出不用再空行。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<cstdlib>
     6 #include<cmath> 
     7 #define lson l, m, rt<<1
     8 #define rson m+1, r, rt<<1|1
     9 #define IO ios::sync_with_stdio(false);cin.tie(0);
    10 #define INF 1e9
    11 typedef long long ll;
    12 using namespace std;
    13 int n, m, a[100010];
    14 int main()
    15 {
    16     IO;
    17     cin >> n;
    18     int kase=0;
    19     while(n--){
    20         cin >> m;
    21         for(int i = 0; i < m; i++){
    22             cin >> a[i];
    23         }
    24         int sum = 0, maxm = -INF;
    25         int from = 0;
    26         int ans1 = 0, ans2 = -1;
    27         for(int i = 0; i < m; i++){
    28             sum += a[i];
    29             if(sum < 0){
    30                 sum = 0;
    31                 from = i+1;
    32             }
    33             else{
    34                 if(sum > maxm){
    35                     maxm = sum;
    36                     ans1 = from;
    37                     ans2 = i;
    38                 } 
    39             }
    40         }
    41         cout << "Case " << ++kase << ":" << endl;
    42         if(ans2 == -1){//sum一直小于零,每位<0   
    43             maxm = -INF;
    44             for(int i = 0; i < m; i++){
    45                 if(a[i] > maxm){
    46                     maxm = a[i];
    47                     ans1 = i; ans2 = i;
    48                 }
    49             }
    50             cout << maxm << " " << ans1+1 << " " << ans2+1 << endl;
    51         }
    52         else
    53             cout << maxm << " " << ans1+1 << " " << ans2+1 << endl;
    54         if(n != 0) cout << endl;
    55     }
    56     return 0;
    57 }
  • 相关阅读:
    GNU GPL介绍
    《Getting Started with WebRTC》第一章 WebRTC介绍
    进一步解 apt-get 的几个命令
    状态模式----C++实现
    boost库asio详解1——strand与io_service区别
    Timer.5
    Timer.4
    Timer.3
    MFC定时器
    boost.asio系列——Timer
  • 原文地址:https://www.cnblogs.com/Surprisezang/p/8878974.html
Copyright © 2020-2023  润新知