Pagini recente » Cod sursa (job #3169354) | Cod sursa (job #436576) | Cod sursa (job #3001278) | Cod sursa (job #1959561) | Cod sursa (job #2198191)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int main()
{
int n,v[6000005];
int summax=-99999;
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;
}