51nod 3級演算法題 1065

2021-07-31 06:22:01 字數 960 閱讀 5199

n個整數組成的序列a[1],a[2],a[3],…,a[n],從中選出乙個子串行(a[i],a[i+1],…a[j]),使這個子串行的和》0,並且這個和是所有和》0的子串行中最小的。

例如:4,-1,5,-2,-1,2,6,-2。-1,5,-2,-1,序列和為1,是最小的。

第1行:整數序列的長度n(2 <= n <= 50000)

第2 - n+1行:n個整數

輸出最小正子段和。
84-1

5-2-12

6-2

1
思路:

先求序列字首和並標記序列號,再將字首和進行排序。逐一比較大小相鄰的兩個數,當位置關係同大小關係一樣,則說明區間 [ i,j ]和為正,取所有的區間中的最小值。

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define endl "\n"

const

int maxn = 50000+10;

struct numa[maxn];

bool cmp(num a,num b)

sort(a,a+n+1,cmp);

int flag=1;

sum=0;

for(int i=1;i<=n;i++)else}}

cout

0;}

51nod 2級演算法題 1007

基準時間限制 1 秒 空間限制 131072 kb 分值 10 難度 2級演算法題 收藏 關注 將一堆正整數分為2組,要求2組的和相差最小。例如 1 2 3 4 5,將1 2 4分為1組,3 5分為1組,兩組和相差1,是所有方案中相差最少的。第1行 乙個數n,n為正整數的數量。第2 n 1行,n個正...

51nod 2級演算法題 1092

基準時間限制 1 秒 空間限制 131072 kb 分值 10 難度 2級演算法題 收藏 關注 回文串是指aba abba cccbccc aaaa這種左右對稱的字串。每個字串都可以通過向中間新增一些字元,使之變為回文字串。例如 abbc 新增2個字元可以變為 acbbca,也可以新增3個變為 ab...

51nod 2級演算法題 1279

有一口井,井的高度為n,每隔1個單位它的寬度有變化。現在從井口往下面扔圓盤,如果圓盤的寬度大於井在某個高度的寬度,則圓盤被卡住 恰好等於的話會下去 盤子有幾種命運 1 掉到井底。2 被卡住。3 落到別的盤子上方。盤子的高度也是單位高度。給定井的寬度和每個盤子的寬度,求最終落到井內的盤子數量。如圖井和...