Pagini recente » Cod sursa (job #1011741) | Cod sursa (job #2865774) | Cod sursa (job #1478425) | Cod sursa (job #390026) | Cod sursa (job #2111282)
#include <fstream>
#include <climits>
#define intrare "ssm.in"
#define iesire "ssm.out"
#define NMAX 6000005
using namespace std;
ifstream in(intrare);
ofstream out(iesire);
int n, sir[NMAX];
void Read()
{
in >> n;
for(int i = 1; i <= n; i++)
in >> sir[i];
}
void Maxim()
{
int Sum_Max = - LONG_MAX, Sum_Local = 0, index, stanga, dreapta;
for(int i = 1; i <= n; i++)
{
if(Sum_Local < 0)
Sum_Local = sir[i], index = i;
else Sum_Local += sir[i];
if(Sum_Max < Sum_Local)
Sum_Max = Sum_Local, stanga = index, dreapta = i;
}
out << Sum_Max << " " << stanga << " " << dreapta;
}
int main()
{
Read();
Maxim();
return 0;
}