Pagini recente » Rating Radu Antinie (Radu599) | Cod sursa (job #434440) | Monitorul de evaluare | Cod sursa (job #2054043) | Cod sursa (job #1958081)
#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];
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;
}