Pagini recente » Cod sursa (job #1686281) | Cod sursa (job #2514302) | Cod sursa (job #1333704) | Cod sursa (job #695484) | Cod sursa (job #2628178)
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int n, a[6000001], sum, maxsum, st, dr, inc, nrm, sst, ddr;
bool ok;
int main()
{
fin >> n;
for (int i = 1; i <= n; i++)
fin >> a[i];
maxsum = nrm = -2000000001;
ok = false;
for (int i = 1; i <= n; i++) {
sum += a[i];
if (sum < 0) {
sum = 0; inc = i + 1;
}
if (sum > maxsum) {
maxsum = sum; st = inc; dr = i;
}
if (a[i] > 0)
ok = true;
if (nrm < a[i]) {
nrm = a[i];
sst = ddr = i;
}
}
if (ok)
fout << maxsum << ' ' << st << ' ' << dr;
else
fout << nrm << ' ' << sst << ' ' << ddr;
return 0;
}