Pagini recente » Cod sursa (job #2446732) | Cod sursa (job #3304387) | Cod sursa (job #3337316) | Cod sursa (job #1155984) | Cod sursa (job #3311428)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[6000011], s[6000011];
int main() {
int n;
fin >> n;
for(int i = 1; i <= n; i++) {
fin >> v[i];
}
s[1] = v[1];
int d = 1, dmaxx = 1, ind = 1, maxx = v[1];
for(int i = 2; i <= n; i++) {
if(s[i - 1] + v[i] > v[i]) {
s[i] = s[i - 1] + v[i];
d = d + 1;
} else {
s[i] = v[i];
d = 1;
}
if(s[i] == maxx && i - d + 1 < ind - dmaxx + 1) {
maxx = s[i];
dmaxx = d;
ind = i;
}
else if(s[i] > maxx) {
maxx = s[i];
dmaxx = d;
ind = i;
}
}
fout << maxx << " " << ind - dmaxx + 1 << " " << ind;
}