Pagini recente » Cod sursa (job #1171197) | Cod sursa (job #1334334) | Cod sursa (job #2400228) | Cod sursa (job #1083030) | Cod sursa (job #1939032)
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
int num[60000000],SP[60000000];//,minime[60000000];
int minprev=0,mincur;
int main()
{
ifstream in ("ssm.in");
ofstream out ("ssm.out");
int n,curent;
in>>n;
int Max = INT_MIN;
for(int i=1;i<=n;i++)
in>>num[i];
int u=0,mi=0,pf=0;
for(int j=1;j<=n;j++){
SP[j]=SP[j-1]+num[j];
if(SP[j]</*minime[j-1]*/minprev){
mi=j;
}
/*minime[j]*/mincur=min(/*minime[j-1]*/minprev,SP[j]);
if(SP[j]-/*minime[j-1]*/minprev >= Max){
Max = SP[j]-/*minime[j-1]*/minprev;
u=j;
pf=mi;
}
//cout<<minime[j]<<endl<<endl;
minprev=mincur;
}
out<<Max<<' '<<pf+1<<' '<<u;
in.close();
out.close();
return 0;
}