題目連結: https://zerojudge.tw/ShowProblem?problemid=d784
# 內容
已知一 n 個元素的整數數列,找出該數列連續元素的和的最大值。
# 解題思路
每次都從未加入的點中,加入權重最小的點,直到每個點都被加入。
如果加入的數量小於 n 代表不是所有皆連通
# 程式碼
#include <iostream> | |
#define MAXN 100 | |
using namespace std; | |
int main(){ | |
int t; | |
while(cin >> t){ | |
while(t--){ | |
int n; | |
cin >> n; | |
int input[MAXN]; | |
for(int i = 0; i < n; i+=1) | |
cin >> input[i]; | |
int maxx = input[0]; | |
for(int i = 1; i<n; i+=1){ | |
if(input[i-1] > 0) | |
input[i] += input[i-1]; | |
if(input[i] > maxx) | |
maxx = input[i]; | |
} | |
cout << maxx << endl; | |
} | |
} | |
return 0; | |
} |