Pagini recente » Cod sursa (job #2943923) | Cod sursa (job #2399648) | Cod sursa (job #2428671) | Cod sursa (job #2702997) | Cod sursa (job #3201917)
#include <bits/stdc++.h>
using namespace std;
int a[6000005], sum[6000005], best[6000005];
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
int n,pozcurenta=1,stanga=1,dreapta=1;
fin>>n;
for(int i=1;i<=n;i++) fin>>a[i];
sum[0]=0;
for(int i=1;i<=n;i++) sum[i]=a[i]+sum[i-1];
int min=sum[0];
int bestSum=INT_MIN;
for(int i=1;i<=n;i++)
{
best[i]=sum[i]-min;
if (min > sum[i])
{
min=sum[i];
pozcurenta=i+1;
}
if (bestSum < best[i])
{
bestSum = best[i];
stanga=pozcurenta;
dreapta=i;
}
}
if(stanga>dreapta) fout<<bestSum<<' '<<dreapta<<' '<<dreapta;
else fout<<bestSum<<' '<<stanga<<' '<<dreapta;
}