Pagini recente » Cod sursa (job #1033509) | Cod sursa (job #3189442) | Cod sursa (job #1681735) | Cod sursa (job #546882) | Cod sursa (job #2917618)
#include <bits/stdc++.h>
using namespace std;
#define FOR(i,n) for(i=1;i<=n;++i)
int n;
const int NMAX = 1e6*6+5;
int arr[NMAX], ans = -INT_MAX, s = -INT_MAX;
ifstream f("ssm.in");
ofstream g("ssm.out");
int main()
{
f >> n;
for(int i=1;i<=n;++i)
f >> arr[i];
int itr1 = 0, itr2 = 0;
for(int i=1;i<=n;++i)
{
if(arr[i] > s+arr[i])
{
itr1 = i;
itr2 = i;
}
else if(arr[i] < s+arr[i] && s == ans)
{
itr2++;
}
s = max(s+arr[i], arr[i]);
ans = max(ans, s);
}
g << ans << ' ' << itr1 << ' ' << itr2+1;
}