Pagini recente » Monitorul de evaluare | Cod sursa (job #1684598) | Cod sursa (job #1250137) | Cod sursa (job #3348139) | Cod sursa (job #2096314)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[6000001],maxim,x,y;
int n,i,j;
int main()
{
int sum = 0,ind = 1;
maxim = -int(2e9);
fin>>n;
for(i=1;i<=n;i++)
fin>>a[i];
for(i=1;i<=n;i++)
if(sum < 0)
{sum = a[i];
ind = i;
}
else {
sum+=a[i];
if(sum>maxim) {maxim=sum;
x = ind;
y = i;
}
}
if (maxim < 0)
{
for(i=1;i<=n;i++)
if(a[i] > maxim) {
maxim = a[i];
x = i;
}
fout<<maxim<<" "<<x<<" "<<x;
}
else
fout<<maxim<<" "<<x<<" "<<y;
return 0;
}