Pagini recente » Cod sursa (job #2960013) | Cod sursa (job #1185594) | Cod sursa (job #1085540) | Cod sursa (job #2164687) | Cod sursa (job #2831873)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int main()
{
// s incepe 0 se schimba cand <0 , se schimba inceput si sfarsit ia ultima valoare
long long n, inc, sf, s, smax = -2000001,x;
bool all_negative = true;
in >> n;
s = 0;
inc = 1;
sf = 0;
for (int i = 1; i <= n; i++) {
in >> x;
if (s < 0) {
s = 0;
inc = i;
}
s = s + x;
if (s > smax) {
smax = s;
sf = i;
}
if (x > 0)
all_negative = false;
}
if(all_negative)
out << smax << " " << sf << " " << sf;
else
out << smax << " " << inc << " " << sf;
}