Pagini recente » Cod sursa (job #3054) | Cod sursa (job #586584) | Cod sursa (job #751738) | Cod sursa (job #1220546) | Cod sursa (job #2595064)
#include <iostream>
#include <fstream>
using namespace std;
int n,a[6000001],sol,sindex1,sindex2;
void read()
{
ifstream f("ssm.in");
f>>n;
for(int i=1;i<=n;i++)
{
f>>a[i];
}
}
void solve()
{
int sm=sol=a[1];
int index1=sindex1=1;
int index2=sindex2=1;
for(int i=2;i<=n;i++)
{
if(sm+a[i]>=a[i])
{
sm+=a[i];
index2=i;
}
else
{
sm=a[i];
index1=index2=i;
}
if(sm>sol)
{
sol=sm;
sindex1=index1;
sindex2=index2;
}
}
}
void write()
{
ofstream g("ssm.out");
g<<sol<<" "<<sindex1<<" "<<sindex2;
}
int main()
{
read();
solve();
write();
return 0;
}