Pagini recente » Cod sursa (job #2215265) | Cod sursa (job #1046077) | Cod sursa (job #1898997) | Cod sursa (job #1046141) | Cod sursa (job #3334552)
#include <fstream>
#include <climits>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int main()
{
int n, maxs, s, i, v[6000000], start, minstart, end;
cin >> n;
for (i = 1; i <= n; i++)
{
cin >> v[i];
}
///////
s = v[1];
maxs = INT_MIN;
start = 1;
for (i = 2; i <= n; i++)
{
if (s >= 0)
{
s = s + v[i];
}
else
{
s = v[i];
start = i;
}
// cout << s<<" ";
if (s > maxs)
{
maxs = s;
end = i;
minstart = start;
}
if ((s == maxs) && (start == minstart) && (i - start < end - minstart))
{
maxs = s;
end = i;
minstart = start;
}
// cout << maxs<<endl;
}
//////
cout << maxs << " " << start << " " << end;
}