Pagini recente » Cod sursa (job #104388) | Cod sursa (job #2744104) | Cod sursa (job #2824523) | Cod sursa (job #2572688) | Cod sursa (job #2159260)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
#define DM 6000001
int n,v[DM];
int 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;
best[1] = v[1];
for(int i = 2; 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;
}