Pagini recente » Cod sursa (job #1777854) | Cod sursa (job #682667) | Cod sursa (job #1214090) | Monitorul de evaluare | Cod sursa (job #1958088)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream in("ssm.in");
ofstream out("ssm.out");
int n,i, current_maximum,global_maximum, right_i;
in >> n ; int v[n+1];
for (i=1;i<=n;i++) in >> v[i];
if (n == 1) out << 1 << v[1] << 1;
else
{
current_maximum = global_maximum = v[1];
for (i=2;i<=n;i++)
{
if (current_maximum + v[i] > v[i]) current_maximum += v[i];
else current_maximum = v[i];
if (current_maximum > global_maximum)
{
global_maximum = current_maximum;
right_i = i;
}
}
out << global_maximum << " ";
for (i=right_i;i>=1;i--)
{
global_maximum -= v[i];
if (global_maximum == 0)
{
out << i << " " << right_i;
break;
}
}
}
return 0;
}