Pagini recente » Cod sursa (job #2081925) | Cod sursa (job #1272842) | Cod sursa (job #2057649) | Cod sursa (job #2850046) | Cod sursa (job #2784556)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int N = 6000002;
const int INFINIT = 10e9;
int v[N], sum[N], best[N];
int main()
{
int n, minim, sum_max, i, st, dr, poz_min;
fin >> n;
for(i = 1; i <= n; i++)
fin >> v[i];
for(i = 1; i <= n; i++)
sum[i] = sum[i - 1] + v[i];
minim = sum[0];
poz_min = 0;
sum_max = -INFINIT;
for(i = 1; i <= N; i++){
best[i] = sum[i] - minim;
if(minim > sum[i]){
minim = sum[i];
poz_min = i;
}
if(best[i] > sum_max){
sum_max = best[i];
st = poz_min + 1;
dr = i;
}
}
fout << sum_max << " " << st << " " << dr;
return 0;
}