Pagini recente » Cod sursa (job #435256) | Cod sursa (job #650729) | Cod sursa (job #567748) | Cod sursa (job #2241482) | Cod sursa (job #2198193)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int main()
{
int n,v[6000005];
int summax=-INT_MIN;
int sumanterior;
int inceput,sfarsit,indinceput,indsfarsit;
f>>n;
for(int i=1;i<=n;i++)
f>>v[i];
if(n>1){
summax=v[1];
sumanterior=v[1];
indinceput=1;
indsfarsit=1;
inceput=1;
sfarsit=1;}
else
{
summax=0;
inceput=0;
sfarsit=0;
}
for(int i=2;i<=n;i++)
{
if(sumanterior+v[i]>=v[i]){
sumanterior=sumanterior+v[i];
indsfarsit=i;
}
else if(sumanterior+v[i]<v[i]){
sumanterior=v[i];
indinceput=i;
indsfarsit=i;
}
if(summax<sumanterior){
summax=sumanterior;
inceput=indinceput;
sfarsit=indsfarsit;
}
}
g<<summax<<' '<<inceput<<' '<<sfarsit;
}