Pagini recente » Cod sursa (job #1659493) | Cod sursa (job #3146014) | Cod sursa (job #1707516) | Cod sursa (job #724120) | Cod sursa (job #1600063)
#include <fstream>
#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;
unsigned int leftPos, rightPos;
int main ()
{
read ();
solve ();
print ();
return 0;
}
void read ()
{
ifstream fin (InFile);
fin >> N;
for (i=0; i<N; i++)
fin >> a[i];
}
void solve ()
{
for (i=0; i<N; i++)
{
if (sum < 0)
{
aux = i+1;
sum = a[i];
}
else
sum += a[i];
if (sum > maxSum)
{
maxSum = sum;
leftPos = aux;
rightPos = i+1;
}
}
}
void print ()
{
ofstream fout (OutFile);
fout << maxSum << ' ' << leftPos << ' ' << rightPos;
}