Pagini recente » Cod sursa (job #1778246) | Cod sursa (job #1217566) | Cod sursa (job #1685178) | Cod sursa (job #475043) | Cod sursa (job #2428158)
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int nmax = 6000005;
int v[nmax], n, x, y, maxim = -1,copie, minim = 10000000, lg;
long long int s;
bool ok;
int main()
{
fin >> n;
for(int i = 1; i <= n; ++i)
fin >> v[i];
ok = true;
for(int i = 1; i <= n; ++i)
{
s += v[i];
if(ok)
{
x = i;
ok = false;
}
if(s > maxim)
{
maxim = s;
y = i;
copie = x;
}
else if(s == maxim)
{
if(i - x < minim)
{
minim = i - x;
y = i;
copie = x;
}
}
if(s < 0)
{
ok = true;
s = 0;
}
}
fout << maxim << " " << copie << " " << y << "\n";
return 0;
}