#include <bits/stdc++.h>
using ll = long long;
using namespace std;
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
ll n, s;
cin >> n >> s;
vector<ll> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
ll pos = 0;
ll sum = 0;
ll neg = 0;
ll zero = 0;
for (int i = 0; i < n; i++) {
cin >> a[i];
sum += a[i];
if (a[i] > 0)
pos++;
if (a[i] == 0) {
zero++;
}
if (a[i] < 0) {
neg++;
}
}
// sub 1
if (pos + zero == n) {
cout << sum << "\n";
}
// sub2
if (neg == 1 and s == 1) {
ll maxsub = 0;
ll count = 0;
for (int i = 0; i < n; i++) {
if (a[i] >= 0) {
count += a[i];
} else {
maxsub = max(count, maxsub);
count = 0;
}
}
cout << maxsub << "\n";
} else {
sum = 0;
for (int i = 0; i < n; i++) {
if (a[i] >= 0) {
sum += a[i];
}
}
cout << sum << "\n";
}
// sub 3
if (s == 1) {
ll maxsub = 0;
ll count = 0;
for (int i = 0; i < n; i++) {
if (a[i] >= 0) {
count += a[i];
} else {
maxsub = max(count, maxsub);
count = 0;
}
}
cout << maxsub << "\n";
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |