Pagini recente » Cod sursa (job #3346706) | Cod sursa (job #3354025) | Cod sursa (job #3351560) | Diferente pentru problema/beyond_the_wall intre reviziile 8 si 9 | Cod sursa (job #3311429)
#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 || (s[i] == maxx && i - d + 1 < ind - dmaxx + 1)) {
maxx = s[i];
dmaxx = d;
ind = i;
}
}
fout << maxx << " " << ind - dmaxx + 1 << " " << ind;
}