Pagini recente » Cod sursa (job #2202946) | Cod sursa (job #2751554) | Cod sursa (job #2517460) | Cod sursa (job #2405536) | Cod sursa (job #2713252)
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int NMAX = 6e6 + 1;
int v[NMAX];
int main()
{
int i, j, n, best = INT_MIN, s=0;
fin>>n;
for(i=1; i<=n; i++)
{
fin>>v[i];
}
s = v[1];
int start=1, stop=1, index;
for(i=2; i<=n; i++)
{
if(s + v[i] > v[i])
{
s += v[i];
}
else
{
s = v[i];
index = i;
}
if(s > best)
{
best = s;
start = index;
stop = i;
}
}
if(n == 1)
best = v[1];
fout<<best<<' '<<start<<' '<<stop;
fin.close();
fout.close();
return 0;
}