Pagini recente » Cod sursa (job #825563) | Cod sursa (job #1015821) | Cod sursa (job #2560959) | Cod sursa (job #1041571) | Cod sursa (job #2159252)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
#define DM 6000001
int n,v[DM];
long long best[DM];
int main() {
fin >> n;
for(int i = 1; i <= n; i++) {
fin >> v[i];
}
long long inceput = 0, sfarsit = 0, maxsum = -999999999999999999, index = 0;
for(int i = 1; i <= n; i++) {
best[i] = v[i];
if(best[i] < best[i - 1] + v[i]) {
best[i] = best[i - 1] + v[i];
}else{
index = i;
}
if(maxsum < best[i]) {
maxsum = best[i];
inceput = index;
sfarsit = i;
}
}
fout << maxsum << " " << inceput << " " << sfarsit;
}