Pagini recente » Cod sursa (job #1760926) | Cod sursa (job #237398) | Cod sursa (job #1500356) | Cod sursa (job #1435899) | Cod sursa (job #1126279)
# include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n, sume[6000005], i, j, a, maxim = -2000000000, sum, startSecv, endSecv, minim = 2000000000, c;
int main()
{
f >> n;
for (i = 1; i <= n; i++)
{
f >> a;
sume[i] = sume[i-1] + a;
}
for (i = 1; i <= n; i++)
{
sum = sume[i] - minim;
if(sum > maxim)
{
maxim = sum;
endSecv = i;
startSecv = c;
}
else
if (sum == maxim)
{
if(c > endSecv) c = endSecv;
else
if (c == endSecv)
{
if((endSecv - startSecv) > (c - endSecv))
c = endSecv;
}
}
if (sume[i] < minim)
{
minim = sume[i];
endSecv = i+1;
}
}
g << maxim << " " << c << " " << startSecv;
}