Pagini recente » Cod sursa (job #2961540) | Cod sursa (job #3329690) | Cod sursa (job #3326503) | Cod sursa (job #3329692) | Cod sursa (job #2220296)
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int N, i, stmx, drmx, st, dr, lg, positivek, posmx;
int long long S, Sum, Summx, mx;
int main()
{
fin>>N;
mx=-9999999;
st=dr=1;
for(i=1; i<=N; i++){
fin>>S;
if(S>=0)positivek++;
if(S>mx){mx=S; posmx=i;}
if(!lg){
if(S>=0) {lg++; Sum=S; st=dr=i;}
else if(S>Summx) {Summx=S; stmx=drmx=i;}
}
else{
if(S+Sum<=0){
Sum=lg=0;
st=dr=i+1;
}
else{
Sum+=S;
lg++;
dr++;
}
}
if(Sum>Summx){
Summx=Sum;
stmx=st;
drmx=dr;
}
}
if(!positivek) fout<<mx<<" "<<posmx<<" "<<posmx;
else
fout<<Summx<<" "<<stmx<<" "<<drmx;
return 0;
}