Pagini recente » Istoria paginii runda/test_miron | Monitorul de evaluare | Monitorul de evaluare | Istoria paginii utilizator/dogdog | Cod sursa (job #1336049)
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int v[6000001];
int main()
{
int n;
f >> n;
f >> v[1];
for(int i = 2; i<=n; i++)
f >> v[i];
int start = 1, stop = 1, smax = v[1], s = v[1], last = 1;
if(s < 0)
{
s = 0;
last = 2;
}
for(int i = 2; i<=n; i++)
{
s += v[i];
if(s > smax)
{
smax = s;
start = last;
stop = i;
}
if(s < 0)
{
s = 0;
last = i + 1;
}
}
g << smax << ' ' << start << ' ' << stop;
}