Pagini recente » Cod sursa (job #2238162) | Cod sursa (job #2751635) | Cod sursa (job #2836739) | Cod sursa (job #1708788) | Cod sursa (job #2005504)
#include <fstream>
#include <iostream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int v[6000005],l[6000005];
int main()
{
int n,i,Max,poz1,poz2;
in >> n;
for (i = 0; i<n; i++)
in >> v[i];
Max = l[n-1] = v[n-1];
poz1 = poz2 = n-1;
for (i = n-2; i>=0; i--)
{
l[i] = max(v[i],v[i]+l[i+1]);
if (l[i]>Max)
Max = l[i];
}
for (i = 0; i<n; i++)
if (l[i] == Max)
{
poz1 = poz2 = i;
while (l[poz2]-v[poz2] == l[poz2+1])
poz2++;
break;
}
out << Max << " " << poz1+1 << " " << poz2+1;
}