Pagini recente » Rezultatele filtrării | Cod sursa (job #2048901)
#include <fstream>
#define NMAX 6000005
using namespace std;
ifstream fin ("ssm.in");
ofstream fout("ssm.out");
int S[NMAX];
int main()
{
int n, bestSum = -int(2e9), Min = 0, idx, st, dr;
fin >> n;
for(int i = 1, x; i <= n; ++i)
{
fin >> S[i];
S[i] += S[i-1];
if(bestSum < S[i] - Min)
{
bestSum = S[i] - Min;
st = idx + 1; dr = i;
}
if(Min > S[i])
{
Min = S[i];
idx = i;
}
}
fout << bestSum << " " << st << " " << dr;
fin.close(); fout.close();
return 0;
}