zoukankan      html  css  js  c++  java
  • 最大子串和

    题意

    给出一段序列,选出其中连续且非空的一段使得这段和最大。


    分析

    一个一个加,只要判断总和会不会小于0就行,小于0就接着往下重新计算和,因为如果所有数据里有正数的话,单个正数肯定更大,而如果都是负数的话,单个负数也比负数和大。


    var
    n,i,t,m:longint;
    a:array[0..200000]of longint;
    begin
        readln(n);
        for i:=1 to n do
        read(a[i]);
        t:=0;
        m:=-maxlongint;
        for i:=1 to n do
        begin
            t:=t+a[i];
            if t>m then m:=t;
            if t<0 then t:=0;
        end;
        write(m);
    end.


  • 相关阅读:
    Chisel3
    Chisel3
    Chisel3
    Chisel3
    Chisel3
    Chisel3
    Chisel3
    Chisel3
    Chisel3
    UVa 12716 (GCD == XOR) GCD XOR
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500201.html
Copyright © 2011-2022 走看看