Cod sursa(job #2883183)
Utilizator | Data | 1 aprilie 2022 11:42:50 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int main() {
int x;
int n;
cin >> n;
int smax = 1 << 31;
int pmax = 0, qmax = 0;
int best = 1 << 31;
int p = 0, q = 0;
for (int i = 1; i <= n; ++i) {
cin >> x;
if (best + x > x) {
best += x;
q = i;
} else {
best = x;
p = i;
q = i;
}
if (best > smax) {
smax = best;
pmax = p;
qmax = q;
}
}
cout << smax << " " << pmax << " " << qmax << endl;
return 0;
}