Pagini recente » Diferente pentru utilizator/circeanubogdan intre reviziile 3 si 2 | Diferente pentru utilizator/ied3vil intre reviziile 4 si 2 | Diferente pentru utilizator/didithigh intre reviziile 2 si 1 | Diferente pentru utilizator/micutuz intre reviziile 2 si 3 | Cod sursa (job #2051326)
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char const *argv[])
{
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int n, maxim = -1090, left = 0, right = 1, currentSum = 0, st = 0;
fin >> n;
for (int i = 1; i<=n; ++i)
{
int x;
fin >> x;
currentSum += x;
if (currentSum > maxim || maxim == -1090)
{
left = st;
right = i;
maxim = currentSum;
}
if (currentSum < 0)
{
currentSum = 0;
st = i;
}
}
fout << maxim << ' ' << left+1 << ' ' << right;
return 0;
}