Pagini recente » Cod sursa (job #2584434) | Cod sursa (job #465476) | Cod sursa (job #1684822) | Cod sursa (job #226881) | Cod sursa (job #1643860)
#include <fstream>
#include <climits>
#define InFile "ssm.in"
#define OutFile "ssm.out"
#define MAX 6000001
using namespace std;
void read ();
void solve ();
void print ();
unsigned int N;
unsigned int a[MAX];
int sum;
unsigned int aux;
unsigned int i;
int maxSum = INT_MIN;
unsigned int leftPos, rightPos;
int main ()
{
read ();
solve ();
print ();
return 0;
}
void read ()
{
ifstream fin (InFile);
fin >> N;
for (i=1; i<=N; i++)
fin >> a[i];
}
void solve ()
{
for (i=1; i<=N; i++)
{
if (sum < 0)
{
aux = i;
sum = a[i];
}
else
sum += a[i];
if (sum > maxSum)
{
maxSum = sum;
leftPos = aux;
rightPos = i;
}
}
}
void print ()
{
ofstream fout (OutFile);
fout << maxSum << ' ' << leftPos << ' ' << rightPos;
}