【解題】Zerojudge d784. 一、連續元素的和

題目連結

d784. 一、連續元素的和

參考解法

第二次解 2023/05/27

d784
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <bits/stdc++.h>
#define ouo ios_base::sync_with_stdio(false), cin.tie(0)
#define ll long long
#define db double
using namespace std;

int main() {
int t;
cin >> t;
while (t--) {
int n;
cin >> n;
int data[n];
int mx = -INT_MAX;
int sum = 0;
for (int i = 0; i < n; i++) {
cin >> data[i];
sum += data[i];
mx = max(mx, sum);
if (sum < 0) sum = 0;
}
cout << mx << "\n";
}
return 0;
}

第一次解

d784
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
using namespace std;

int main() {
int n1;
cin >> n1;

while (n1--) {
int n2;
cin >> n2;
int data[n2];
for (int i = 0; i < n2; i++) {
cin >> data[i];
}

int sum = data[0], max_sum = data[0];
for (int i = 1; i < n2; i++) {
if (sum < 0) sum = 0;
sum += data[i];
if (sum > max_sum) max_sum = sum;
}

cout << max_sum << "\n";
}
return 0;
}