Pagini recente » Cod sursa (job #1315449) | Cod sursa (job #539604) | Cod sursa (job #149246) | Cod sursa (job #1116397) | Cod sursa (job #2964301)
#include <bits/stdc++.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
const int NrMax = 6000005;
const int NR = 2000000005;
pair<int, int> mini[NrMax];
int n, x, sumi[NrMax], Max, p1, p2;
int main()
{
f >> n;
mini[0].first = NR;
for(int i = 1; i <= n; i ++)
{
f >> x;
sumi[i] = sumi[i - 1] + x;
mini[i].first = min(mini[i - 1].first, sumi[i]);
if(mini[i - 1].first > sumi[i])
{
mini[i].second = i;
}
else mini[i].second = mini[i - 1].second;
}
for(int i = 1; i <= n; i ++)
{
if(Max < sumi[i] - mini[i].first)
{
Max = sumi[i] - mini[i].first;
p1 = mini[i].second + 1;
p2 = i;
}
}
g << Max << " " << p1 << " " << p2;
return 0;
}