Cod sursa(job #2278592)
| Utilizator | Data | 8 noiembrie 2018 11:54:52 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int main() {
ios::sync_with_stdio(false); in.tie(0); out.tie(0);
int n; in >> n;
int bestSum = INT_MIN, bestI, bestJ, idx, sum = 0;
for(int i = 1; i <= n; ++i) {
int x; in >> x;
if(sum < 0) {
sum = x; idx = i;
} else {
sum += x;
}
if(sum > bestSum) {
bestSum = sum;
bestI = idx; bestJ = i;
}
}
out << bestSum << " " << bestI << " " << bestJ << "\n";
in.close(); out.close();
return 0;
}